我有当前代码:
public void crearArchivo(String nombre) {
archivo = new File(nombre.replaceAll("\s", "") + ".txt");
if (!archivo.exists()) {
try {
archivo.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void crearCarpeta(String nombreCarpeta){
File directorio = new File(nombreCarpeta);
directorio.mkdir();
}
public void crearArchivoDatos(String nombreArchivo, ArrayList<String>datos) {
crearArchivo(nombreArchivo);
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(archivo));
for (int i = 0; i < datos.size(); i++) {
bw.write(datos.get(i));
}
bw.close();
} catch (Exception e) {
//e.printStackTrace();
}
}
第一种方法只在不存在的情况下创建一个文件,第二种方法最后创建一个文件夹第三种方法保存数据我的问题是我想在我首先创建的文件夹上保存一些文件我如何设置保存这些文件的路径,我还有一个问题,这个小程序将在不同的计算机上执行,所以任何计算机的路径都会改变
您可以使用System.getProperty(...)
获取任何计算机上文件夹的路径,例如System.getProperty("user.home")
为您提供当前用户目录(您可以从中获取桌面和其他文件夹(,System.getProperty("user.dir")
为您提供执行程序的文件夹的路径。
用Java创建或修改文件可以用Java8NIO.2方法完成。以下是指向Oracle文档的链接:https://docs.oracle.com/javase/tutorial/essential/io/fileio.html
对于您的问题,您必须声明一个相对路径,这样它将独立于将在其上执行的计算机,而不是从文件系统根开始的绝对路径。