[英]Problems saving a text file with a folder
只是想知道您是否可以為我指明正確的方向。 我現在在下面的代碼是我現在所處的位置,我遇到的問題是它將把data.txt
保存到位置,但是僅當我不添加文件夾時。 "/data.txt"
有效,但"/folder/data.txt"
。 邏輯告訴我,我的代碼沒有創建文件夾,而是告訴計算機將data.txt保存到名為folder的文件夾中。 我的第一個問題是,如何修改我的代碼以實現這一目標?
其次,也是最重要的一點,我一直在研究網絡和Stack Overflow,並從user.home
, user.dir
和更多示例中獲得了很多示例,它們都可以工作,但是同樣沒有第1部分中所述的文件夾方式我的主要目標是在文件夾中隱藏(而不是字面意義上的)保存文件,例如。 C:/Program Files/SysAuth/data.txt
。 這是一個簡單的嘗試,不允許用戶修改分數,僅需原始安全性。 我的主要問題是我希望文件路徑與Windows和Mac都兼容。 無法訪問Mac,因此無法測試任何兼容性。 希望能對您有所幫助。
public statiic void save(){
String str = "Congratulations";
file = System.getPropery("user.home");
fileName = (file + "/folder/data.txt");
try {
FileWriter fw = new FileWriter(fileName);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(str);
bw.close();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
聽起來您要問的是如何創建父目錄。
File file = new File(filename);
file.getParentFile().mkdirs();
請在此處查看mkdirs方法的文檔
最終代碼如下所示:
public static void save(){
String str = "Congratulations";
file = System.getPropery("user.home");
File textFile = new File(file + "/folder/data.txt");
try {
textFile.getParentFile().mkdirs();
FileWriter fw = new FileWriter(textFile);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(str);
bw.close();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
至於問題的第二部分,請不要隱藏我的“程序文件”中的內容。 正確(也是最簡單)的方法之一是使用Java Preferences API 。 這里有一個很好的教程,它實際上根本不需要任何文件操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.