elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema con constructores y archivos c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con constructores y archivos c#  (Leído 2,637 veces)
Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Problema con constructores y archivos c#
« en: 4 Mayo 2015, 11:21 am »

Código
  1. public partial class Interfaz : Form
  2.    {
  3.        private string directorio = Directory.GetCurrentDirectory();
  4.        private volatile Archivo configuracion = new Archivo(directorio);
  5. ...}



Código
  1. class Archivo
  2.    {
  3.        private String directorio;
  4.        private FileStream datos;// = new FileStream(); //directorio + "\\app.dat", FileMode.Create
  5.  
  6.        public Archivo(String directorio)
  7.        {
  8.            //Aqui quiero inicialiar el archivo con el handle del directorio que le paso al consructor pero no me deja.
  9.        }

Para obtener el directorio actual debo de hacerlo desde el form o obtengo error, entonces, lo que hago es sacar el directorio del archivo en el form y pasarsele al constructor, entonces quiero que me cree un archivo con ese handle, además quiero que ese archivo poder usarle para lectura y escritura, sin crear más.

Es decir meter un Streamwriter y Streamreader.

Alguna ayuda pls, la idea es crear una clase de archivo para trabajar con un solo archivo con todo, y no crear 20 de estos, necesito el handle del directorio actual y poder escribir en el y leerle con un solo FileStream, ¿es posible? ayuda y gracias gente.


En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Problema con constructores y archivos c#
« Respuesta #1 en: 4 Mayo 2015, 11:49 am »

Código
  1. private string directorio = Directory.GetCurrentDirectory();

Para obtener el directorio actual debo de hacerlo desde el form o obtengo error, entonces, lo que hago es...

Detente ahí en el "entonces, lo que hago es...", no intentes parchear el problema, trata de solucionar el problema principal, explica cual es el tipo de excepción que te lanza, y el mensaje de error,
Lo mismo para la otra linea que has comentado, "no me deja" no aclara el problema que tienes, da DETALLES.

Cómo alternativa puedes intentar utilizar la propiedad Application.StartupPath, aunque esta devuelve el directorio de inicio de la aplicación en lugar del directorio de trabajo actual (que viene siendo lo mismo a menos que cambias arbitrariamente el directorio de trabajo).

Saludos


« Última modificación: 4 Mayo 2015, 11:57 am por Eleкtro » En línea



Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: Problema con constructores y archivos c#
« Respuesta #2 en: 4 Mayo 2015, 12:29 pm »

Hola elektro gracias por la respuesta, de acuerdo seré más preciso.

En FileStream no hay un método llamado StartupPath, el problema es quiero abrir un directorio que tenga el handle pasado al constructor apra crear la clase archivo. Al recibir esa direccion (handle), el constructor creará un archivo de tipo FileStream y quiero que lo inicialice con esa dirección, funcionaría sin problemas si dejase usar GetCurrentDirectory(), pero no es el caso solo deja usarlo en el form, no en las demás clases, es por ello que se lo paso como argumento al constructor para que trate de crear el archivo con esa dirección, alguna idea?

No puedo ser mas preciso, no es que me de errores mira, entre otras cosas probé con estas soluciones:

Código
  1. public void inicializacion()
  2.        {
  3.            datos.Handle(directorio + "\\app.dat");
  4.        }

pero no funcionaba porue Handle esta en deshuso, ponía una excepción de system security pero no me funcionaba tampoco.

Escribiendo esto parezco haber solucionado el problema:

Código
  1. this.datos=new FileStream(directorio,FileMode.OpenOrCreate);

Poniendo eso en el constructor es suficiente (meme de beso(que lo pongan ya))

saludos, gracias por responder de todas formas. Ahora ya tengo el archivo inicializado para el directorio y pudo trabajar sobre el
« Última modificación: 4 Mayo 2015, 12:31 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Problema con constructores y archivos c#
« Respuesta #3 en: 4 Mayo 2015, 12:50 pm »

Código
  1. this.datos=new FileStream(directorio,FileMode.OpenOrCreate);

Poniendo eso en el constructor es suficiente (meme de beso(que lo pongan ya))

saludos, gracias por responder de todas formas. Ahora ya tengo el archivo inicializado para el directorio y pudo trabajar sobre el

Con eso solventas el error de apertura del fichero pero sigues sin poder obtener el directorio actual desde el manejador de ficheros. Seguramente te hayas pasado algo por alto, errores así no son comunes. Como bien te ha dicho EleKtro acostúmbrate a poner más detalles sobre las excepciones o errores del código, no somos adivinos :p

Por cierto para que quieres crear el Filestream con el handle... esto es alto nivel, el Handle se usaría para otro tipo de gestiones Además la propiedad "Handle" está obsoleta, si quisieras trabajar con el handle del stream deberías usar "SafeFileHandle".

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Constructores de clase
Programación Visual Basic
Gangrel 1 1,422 Último mensaje 22 Abril 2006, 01:56 am
por Gangrel
Constructores en vb.net???
.NET (C#, VB.NET, ASP)
Skeletron 3 10,901 Último mensaje 14 Octubre 2009, 03:55 am
por seba123neo
JAVA CONSTRUCTORES
Java
rodrigo619 2 3,040 Último mensaje 29 Abril 2010, 22:11 pm
por Debci
Problema con herencia de constructores
Programación C/C++
Lord_Lobotomi 3 2,953 Último mensaje 1 Marzo 2012, 05:22 am
por naderST
Creo que tengo un problema de constructores
Programación C/C++
anonimo12121 7 4,713 Último mensaje 6 Abril 2012, 00:46 am
por Beakman
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines