java中readLine()怎样用 readline函数疑问
java中readLine()怎样用?
public static String readFile2(String filePath) {
String fileContent = ""
//目标地址
File file = new File(filePath)
if (file.isFile() && file.exists()) {
try {
InputStreamReader read = new InputStreamReader(
new FileInputStream(file), "UTF-8")
BufferedReader reader = new BufferedReader(read)
String line
try {
//循环,每次读一行
while ((line = reader.readLine()) != null) {
fileContent = line
}
reader.close()
read.close()
} catch (IOException e) {
e.printStackTrace()
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace()
} catch (FileNotFoundException e) {
e.printStackTrace()
}
}
return fileContent
}
readline函数疑问
问题1.int readlines(char*a[],int maxlines)中
char*a[],int maxlines是两个输入参数,
int 定义了返回值的类型,怀疑代表一个错误码。
猜测这个函数是处理一段的文字,
文字内容地址由char*a[]指针传入,
要处理的行数由int maxlines传入。
问题2.如果要处理的行数是2行,
函数被调用时参数maxlines的传入值就是2,
函数应该是在传入的char*a[]字串中搜索到第二个换行符的位置,
对前边的字串进行正常处理。
java readLine()
修改下 :
import java.io.*
public class xx{
public static void main(String args []) throws Exception{
FileInputStream f = new FileInputStream("F:\rublish\c.txt")
// DataInputStream dr = new DataInputStream(f)
BufferedReader dr=new BufferedReader(new InputStreamReader(f))
String line = dr.readLine()
while(line!= null){
System.out.println(line)
line = dr.readLine()
}
}
}
while(dr.readLine() != null){
System.out.println(dr.readLine())
你错误原因在上面dr.readLine() 第一个 读取了一行
下面那个System.out.println(dr.readLine())里的 dr.readLine() 接着读取第2行 输出的是第2行
while(dr.readLine() != null){
判断第3行是否能读到
System.out.println(dr.readLine())里面的读的是第4行且有输出。