Java的文件路径问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:47:11
我要读C:\data.txt,将每行读出来,然后用split的以空格为间隔分成若干段,准备插入到数据库中,运行分行的程序据出现错误,文件路径的\有问题么
import java.io.*;

public class Readtxt {
public static void readfile(){
try{
FileReader reader = new FileReader("C:\data.txt");
BufferedReader br = new BufferedReader(reader);
String s1 = null;
int line=0;
while((s1 = br.readLine()) != null) {
++line;
System.out.println("line:"+line);
System.out.println(s1);
}
br.close();
reader.close();
}catch(IOException e){

}
}
public static void main (String args[]){
readfile();
}
}
提示错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )

at Readtxt.readfile(Readtxt.java:6)
at Readtxt.main(Readtxt.java:22)

}
}

Java中文件的路径有相对和绝对路径之分,一般情况下不应用于Web的话都是绝对路径,就是E:\....这种的,相对路径就是从Java文件的位置开始,和要引用的文件的路的相对路径,你这里是转义字符的问题,将("C:\data.txt");一行改成("C:\\data.txt");

楼上说的可行,在java中要表示'/'必须要用转义即用//双斜杠表示,或者楼主可以吧地址写成"c:/data.txt",在windows下/与\都可以用来写路径,这样就避免了与java中转义字符冲突的问题。

嗯~
你没说错~

("C:\data.txt");一行改成("C:\\data.txt");

'\'在java是转义字符~

'\\'才表示\

你用的视xp系统吧?文件路径有问题啊!C:\data.txt,xp“\”是java的转义符号啊,有含义的,所以要再加一个转义符号才是一个“\”,那应该是C:\\data.txt