Q1:java如何在指定文件位置创建文件
以下代码是在D:/myDir1/myDir2下创建名为myFile.txt的文件123456789101112131415161718192021222324252627publicstaticvoidtest3(){//根据系统的实际情况选择目录分隔符(windows下是,linux下是/)Stringseparator=File.separator;Stringdirectory="D:"+separator+"myDir1"+separator+"myDir2";//以下这句的效果等同于上面两句,windows下正斜杠/和反斜杠都是可以的//linux下只认正斜杠,为了保证跨平台性,不建议使用反斜杠(在java程序中是转义字符,用\来表示反斜杠)//Stringdirectory="myDir1/myDir2";StringfileName="myFile.txt";//在内存中创建一个文件对象,注意:此时还没有在硬盘对应目录下创建实实在在的文件Filef=newFile(directory,fileName);if(f.exists()){//文件已经存在,输出文件的相关信息System.out.println(f.getAbsolutePath());System.out.println(f.getName());System.out.println(f.length());}else{//先创建文件所在的目录f.getParentFile().mkdirs();try{//创建新文件f.createNewFile();}catch(IOExceptione){System.out.println("创建新文件时出现了错误。。。");e.printStackTrace();}}}
Q2:java 文件保存路径问题.
改为:File dateFile2 = new File(basePath + datePath + "/" + model);的时候不好使应该是你的返回值没有加 文件分隔符的原因。
你最后成功是因为你加了 datePath+="/";
让返回和新建文件路径都一致了。
另外不要用“/”最好使用:File.separator;
还有renameTo只能在windows下使用,limux不行,而且即使是在windonws下,如果file systems不一样也会失败的,建议copy文件自己重写或者使用common-io的工具类。
Q3:java 流 保存文件 为什么要刷新文件夹 文件才能找到
以前我的win7出现过类似的问题,原因比较多,主要是系统没有自动刷新,或者说是刷新过程被程序阻碍了,你要确定你的文件操作是否已经玩成了,关闭文件,程序也已经退出内存了
Q4:java中JFileChooser保存文件获取要把文件保存到的路径
先保证远程计算机的目录可以写入,然后和操作本地文件没什么区别,一个示例:
try{
FileOutputStream fos = new FileOutputStream(new File("\\\\192.168.0.2\\a.txt"));
}
catch(Exception ex){
ex.printStackTrace();
}
这可以在192.168.0.2的共享根目录下创建一个a.txt文件,详细的文件操作优化方面,可以自己看看