java - descargar - Lectura y visualización de datos de un archivo.txt
java offline (10)
A continuación se muestra el código que puede intentar leer un archivo y mostrar en java utilizando la clase de escáner. El código leerá el nombre del archivo del usuario e imprimirá los datos (archivos VIM del Bloc de notas).
import java.io.*;
import java.util.Scanner;
import java.io.*;
public class TestRead
{
public static void main(String[] input)
{
String fname;
Scanner scan = new Scanner(System.in);
/* enter filename with extension to open and read its content */
System.out.print("Enter File Name to Open (with extension like file.txt) : ");
fname = scan.nextLine();
/* this will reference only one line at a time */
String line = null;
try
{
/* FileReader reads text files in the default encoding */
FileReader fileReader = new FileReader(fname);
/* always wrap the FileReader in BufferedReader */
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null)
{
System.out.println(line);
}
/* always close the file after use */
bufferedReader.close();
}
catch(IOException ex)
{
System.out.println("Error reading file named ''" + fname + "''");
}
}
}
¿Cómo se leen y visualizan los datos de los archivos .txt?
En Java 8, puede leer un archivo completo, simplemente con:
public String read(String file) throws IOException {
return new String(Files.readAllBytes(Paths.get(file)));
}
o si es un recurso:
public String read(String file) throws IOException {
URL url = Resources.getResource(file);
return Resources.toString(url, Charsets.UTF_8);
}
En general:
- Crea un
FileInputStream
para el archivo. - Cree un
InputStreamReader
envuelva la secuencia de entrada, especificando la encoding correcta - Opcionalmente, cree un
BufferedReader
en elInputStreamReader
, lo que simplifica la lectura de una línea a la vez. - Lea hasta que no haya más datos (por ejemplo,
readLine
devuelve nulo) - Visualice datos sobre la marcha o búfer para más tarde.
Si necesita más ayuda que eso, sea más específico en su pregunta.
Lo más probable es que desee utilizar la clase FileInputStream:
int character;
StringBuffer buffer = new StringBuffer("");
FileInputStream inputStream = new FileInputStream(new File("/home/jessy/file.txt"));
while( (character = inputStream.read()) != -1)
buffer.append((char) character);
inputStream.close();
System.out.println(buffer);
También querrá ver algunas de las excepciones arrojadas por el método read () y el constructor FileInputStream, pero esos son detalles de implementación específicos de su proyecto.
Me encanta este fragmento de código, utilízalo para cargar un archivo en una cadena:
File file = new File("/my/location");
String contents = new Scanner(file).useDelimiter("//Z").next();
Para leer líneas del archivo .txt con la encoding UTF-8
:
File krokiPath = new File("Records/Record");
BufferedReader in = new BufferedReader(
new InputStreamReader(new FileInputStream(krokiPath), "UTF8"));
while((r = in.readLine()) != null) {
System.out.println(r);
}
in.close();
Si desea tomar algunos accesos directos, puede utilizar Apache Commons IO :
import org.apache.commons.io.FileUtils;
String data = FileUtils.readFileToString(new File("..."), "UTF-8");
System.out.println(data);
:-)
Si su archivo es estrictamente de texto, prefiero usar la clase java.util.Scanner
.
Puede crear un java.util.Scanner de un archivo de la siguiente manera:
Scanner fileIn = new Scanner(new File(thePathToYourFile));
Luego, puede leer el texto del archivo usando los métodos:
fileIn.nextLine(); // Reads one line from the file
fileIn.next(); // Reads one word from the file
Y, puedes verificar si queda más texto con:
fileIn.hasNext(); // Returns true if there is another word in the file
fileIn.hasNextLine(); // Returns true if there is another line to read from the file
Una vez que haya leído el texto y lo haya guardado en una String
, puede imprimir la cadena a la línea de comando con:
System.out.print(aString);
System.out.println(aString);
El enlace publicado contiene la especificación completa para la clase de escáner. Será útil ayudarlo con cualquier otra cosa que desee hacer.
BufferedReader in = new BufferedReader(new FileReader("<Filename>"));
Luego, puede usar in.readLine (); para leer una sola línea a la vez. Para leer hasta el final, escriba un ciclo while como tal:
String line;
while((line = in.readLine()) != null)
{
System.out.println(line);
}
in.close();
public class PassdataintoFile {
public static void main(String[] args) throws IOException {
try {
PrintWriter pw = new PrintWriter("C:/new/hello.txt", "UTF-8");
PrintWriter pw1 = new PrintWriter("C:/new/hello.txt");
pw1.println("Hi chinni");
pw1.print("your succesfully entered text into file");
pw1.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader br = new BufferedReader(new FileReader("C:/new/hello.txt"));
String line;
while((line = br.readLine())!= null)
{
System.out.println(line);
}
br.close();
}
}