本人初学java书只看了1/3所以很多功能不懂讲错了高手别笑。。因为要使用读取文件功能匆匆找了读取文件的类选了FileReader,觉得比较容易上手不过读出来的字符类型是char[]很麻烦,我目的是要将文件内容读取成String类型,但是没找到能把文件直接读取成String类型的方法。觉得读文件用char[]很麻烦,要定义一个定长的空类型比如new char[1024]才能用,这样要把char[]转换成String类型时候如果没注意到空char也在里面就会莫名其妙地多出一大堆空白。而且不懂java怎么才能在定义时给char[]类型赋值,如果是C语言可以用char[] a={"sdfdsfdf"}在定义时给char[]赋值,想请问高手java里怎么在定义时给char[]赋初值?写得比较乱,主要问题有两个:1.java读取文件能不能直接读成String类型?为什么java惯用String类型又在读取文件时候保持char[]方法。。2.java怎么在定义时给char[]赋初值?试过很多种写法一直出问题。。
java读文件的时候可以直接读成String类型。
DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(new File("filepath"))));
//读出文件的一行,以String类型保存
String line = dis.readLine();为什么java惯用String类型又在读取文件时候保持char[]方法都可以java怎么在定义时给char[]赋初值?char[] c = new char[]{1,2,3};以上仅供参考。
是一行一行读取对么?那高手能不能给一下读取一篇文章完整的代码呢?就是从定义打开到读取完整篇文章,保存在String[]里代码应该不会长吧,谢谢了`````
try
{
DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(new File("filepath")))); String line = null;
List list = new ArrayList();
while((line = dis.readLine()) != null)
{
list.add(line);
}
}
dis.close();
catch(Exception e)
{
e.printStackTrace();
}
}
代码是直接手写上去的,可能有错误,自己编辑下。
1)java读取文件时,当然能直接读成String类型,而是对文本文件处理时,一个String代码一个文本行,这样列方便.
代码如下:从文件c:/t.txt中读取一行:
BuferedReader br=new BufferedReader(new FileReader("c:/t.txt"));
String line=r.readLine();
若line==null则表示已读到文件结束.
2)不鼓励用char[]来处理字符串.若对char[]处理字符串很偏爱,则可用JAVA中的StringBuilder或StringBuffer
System.out.println("1");
System.out.println(line);
}测试时发现readLine()一次就把文本所有内容读取完了。。我读取的TXT文档全屏显示下有4行快100个英文单词,如果是一行一行读取应该不至于一次就被读完,这只是特殊情况还是?readLine()是否多次读取是根据情况不同而区分对付么?谢谢高手关注~~~