当前位置: 技术问答>java相关
为什么我的程序读取文本文件时,输出的是字符的ASCII码?
来源: 互联网 发布时间:2017-03-30
本文导语: 为什么我的程序读取文本文件时,输出的是字符的ASCII码? 还有可以以此读一行吗?我改成readLine好像不行的。 import java.io.*; public class FileInputDemo { public static void main(String args[]) { if (args.length == 1...
为什么我的程序读取文本文件时,输出的是字符的ASCII码?
还有可以以此读一行吗?我改成readLine好像不行的。
import java.io.*;
public class FileInputDemo
{
public static void main(String args[])
{
if (args.length == 1)
{
try
{
FileInputStream fstream = new FileInputStream(args[0]);
DataInputStream in = new DataInputStream(fstream);
while (in.available() != 0)
{
System.out.println(in.read());
}
in.close();
}catch (Exception e)
{System.err.println("File input error");}
}
else
{System.out.println("Invalid parameters");}
}
}
还有可以以此读一行吗?我改成readLine好像不行的。
import java.io.*;
public class FileInputDemo
{
public static void main(String args[])
{
if (args.length == 1)
{
try
{
FileInputStream fstream = new FileInputStream(args[0]);
DataInputStream in = new DataInputStream(fstream);
while (in.available() != 0)
{
System.out.println(in.read());
}
in.close();
}catch (Exception e)
{System.err.println("File input error");}
}
else
{System.out.println("Invalid parameters");}
}
}
|
注明你用的DataInputStream他读入的是一个byte,要是你想输出的话
你用这一句就可以了
System.out.print((char)in.read());
或者你用BufferReader FileReader也可以。
你用这一句就可以了
System.out.print((char)in.read());
或者你用BufferReader FileReader也可以。
|
上面的只能读取Ascii字符,
下面使用BufferedReader FileReader实现,good luck
import java.io.*;
public class TestRead {
public static void main(String args[]) {
try {
BufferedReader in = new BufferedReader(new FileReader("log.txt"));
String str;
//行读取方式
while ( (str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
BufferedReader in2 = new BufferedReader(new FileReader("log.txt"));
//单字符读取方式
for (int ch = 0; (ch = in2.read()) != -1; ) {
System.out.print( (char) ch);
}
in2.close();
}
catch (Exception e) {
System.err.println("File input error");
}
}
}
下面使用BufferedReader FileReader实现,good luck
import java.io.*;
public class TestRead {
public static void main(String args[]) {
try {
BufferedReader in = new BufferedReader(new FileReader("log.txt"));
String str;
//行读取方式
while ( (str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
BufferedReader in2 = new BufferedReader(new FileReader("log.txt"));
//单字符读取方式
for (int ch = 0; (ch = in2.read()) != -1; ) {
System.out.print( (char) ch);
}
in2.close();
}
catch (Exception e) {
System.err.println("File input error");
}
}
}
|
当然可以,你先把byte读进来,存到一个数组bytes[]中,然后用String str1=new String(bytes),生成字符串不就可以了?
如果你只是为了输出的话,System.out.println(str)是最好的,呵呵
如果你只是为了输出的话,System.out.println(str)是最好的,呵呵