我对Java中的txt文件有疑问
当我必须阅读文本文件时,我必须指出路径。
但是,txt文件位于同一文件夹中。
需要做的是......
测试阅读文件名。
测试:类名 readoption:读取文件的选项 filename:同一文件夹的文件名。
但是,我不想使用路径来指出文件,这意味着我想在我的代码中不使用“C:/ Users / myname / Desktop / myfolder /”来阅读文本文件。
有人知道怎么做吗?
感谢。
public class testing{
private static boolean debug = true;
public static void main(String args [])
{
if(args.length == 0)
{// if you do nothing
if(debug == true)
{
System.out.println(args);
}
System.err.println("Error: Missing Keywords");
return;
}
else if(args.length == 1)
{// if you miss key word
if(debug == true)
{
System.out.println(args);
}
System.err.println("Error: Missing filename");
return;
}
else
{// if it is fine
String pathes = "C:/Users/myname/Desktop/myfolder/";// dont want to use this part
if(debug == true)
{
System.out.println("Everthing is fine");
System.out.println("Keyword :" + args[0]);
System.out.println("File name :" + args[1]);
}
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream(pathes + "bob.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
}
答案 0 :(得分:1)
将此行String pathes = "C:/Users/myname/Desktop/myfolder/";
更改为:
String pathes = args[1];
此行FileInputStream fstream = new FileInputStream(pathes + "bob.txt");
:
FileInputStream fstream = new FileInputStream(pathes);
答案 1 :(得分:0)
如果你将文本文件放入java项目中的“myfolder”,你的路径应该是这样的:
String pathes = "/myfolder/bob.txt";
FileInputStream fstream = new FileInputStream(pathes);
答案 2 :(得分:0)
从.properties文件加载文件的路径(使用java.util.Properties
类),或者将其作为参数从命令行传递(在main
String[]
参数中)。< / p>
无论哪种方式,处理文件的代码都不能这样做,必须在外部完成。您的处理代码从调用它的方法接收文件路径,因此如果您决定使用其他方法(例如,GUI),则无需更改。
答案 3 :(得分:0)
你可以使用“。”对于实际路径并添加系统独立文件分隔符,如:
FileInputStream fstream = new FileInputStream("."+System.getProperty("file.separator")+"bob.txt");