在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。

Separator:

比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:
File file1 = new File ("C:\tmp\test.txt");
在Linux下则是这样的:
File file2 = new File ("/tmp/test.txt");

如果要考虑跨平台,则最好是这么写:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");

File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。

  1. package cn.mndl;
  2. import java.io.File ;
  3. import java.io.IOException ;
  4.  
  5. public class Hello {
  6.  
  7. public static void main(String[] args) {
  8. // TODO Auto-generated method stub
  9. File f = new File ("E:" + File.separator + "test.txt") ;
  10. if(f.exists()){
  11. f.delete() ;
  12. System.out.println("删除成功") ;
  13. } else {
  14. try{
  15. f.createNewFile() ;
  16. System.out.println("name of teh currect file :" + f.getName()) ;
  17. System.out.println("parents director of the currect file :" + f.getParent()) ;
  18. System.out.println("full path of currect file :" +f.getPath()) ;
  19. System.out.println("is readable ? :"+f.canRead());
  20. System.out.println("is writable ?" + f.canWrite());
  21. } catch (IOException e){
  22. e.printStackTrace();
  23.  
  24. }
  25. }
  26. }
  27.  
  28. }
  1. package cn.mndl;
  2. import java.io.BufferedReader;
  3. import java.io.File ;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.FileReader;
  8. import java.io.FileWriter;
  9. import java.io.IOException ;
  10.  
  11. public class Hello {
  12.  
  13. public static void main(String[] args) {
  14. // TODO Auto-generated method stub
  15. try{
  16. //第一步,使用FILE类定义一个文件
  17. File inFile = new File("in.txt") ;
  18. File outFile = new File("out.txt") ;
  19. //第二步,用一个字节流或者字符流的子类进行流对象 的实例化
  20. FileReader fi = new FileReader(inFile) ;
  21. BufferedReader bfi = new BufferedReader(fi) ;
  22. FileWriter fo = new FileWriter(outFile);
  23. //第三步,读写操作
  24. String l = "" ;
  25. String [] arrs = null ;
  26. while((l = bfi.readLine())!= null){
  27. arrs = l.split(",") ;
  28. System.out.println(arrs[]);
  29. }
  30. //第四步,关闭字节或者字节流
  31. fi.close();
  32. bfi.close();
  33. fo.close();
  34. } catch (IOException e){
  35. e.printStackTrace() ;
  36. }
  37.  
  38. }
  39.  
  40. }

对象流

  1. package cn.mndl;
  2. import java.io.BufferedReader;
  3. import java.io.File ;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.FileReader;
  8. import java.io.FileWriter;
  9. import java.io.IOException ;
  10. import java.io.ObjectInputStream;
  11. import java.io.ObjectOutputStream;
  12. import java.io.Serializable;
  13.  
  14. class Student implements Serializable {
  15. private int id ;
  16. private String name ;
  17. public Student(int id, String name) {
  18. this.id = id;
  19. this.name = name;
  20. }
  21. public String toString(){
  22. return "id: " + this.id + ", name : " + this.name;
  23. }
  24.  
  25. }
  26. public class Hello {
  27.  
  28. public static void main(String[] args) throws IOException {
  29. // TODO Auto-generated method stub
  30. Student stu = new Student(,"zhuopeng") ;
  31. Student s ;
  32. try{
  33. FileOutputStream out = new FileOutputStream("123.txt") ;//输出到文件
  34. ObjectOutputStream so = new ObjectOutputStream(out) ;
  35. so.writeObject(stu) ;
  36. so.close();
  37. out.close();
  38.  
  39. FileInputStream in = new FileInputStream("123.txt") ;//从文件中读入
  40. ObjectInputStream io = new ObjectInputStream(in) ;
  41. s = (Student) io.readObject() ;
  42. System.out.println(s) ;
  43.  
  44. } catch(FileNotFoundException e){
  45. e.printStackTrace() ;
  46. } catch(Exception e){
  47. e.printStackTrace();
  48. }
  49. }
  50.  
  51. }

IO文件的更多相关文章

  1. Java IO 文件与流基础

    Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...

  2. 文件IO 相关的包:java.io文件——API

    文件IO 相关的包:java.io文件——API 1.Java.io.File类的使用(1)两种路径绝对路径:相对于当前路径:当前为 “工程名”(2)File类创建,对象为一个文件/目录,可能存在或不 ...

  3. 一头扎进 Java IO中-------java IO文件

    Java IO: 文件 在Java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这篇文章不会对每一个技术细节都做出解释,而是会针对文件存 ...

  4. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  5. IO文件操作

    × 目录 [1]IO文件的操作 [2]Directory类 [3]File类 [4]FileStream类 [5]文本文件的操作 一.IO文件的操作:   .net中对文件操作,经常会用到这样几个类: ...

  6. winform IO文件操作

    最近做了一个查错工具,运用了winform文件操作的知识,做了几点总结,不全面,只总结了几点项目里用过的知识(关于以下内容只是个人的理解和总结,不对的地方请多指教,有补充的可以评论留言大家一起讨论学习 ...

  7. java IO 文件批量重命名

    java IO 文件批量重命名 package com.vfsd.renamefile; import java.io.File; import java.io.FileInputStream; im ...

  8. (Unity)XML文件读写与IO文件操作类使用介绍

    using System.Xml;                //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...

  9. java Io文件输入输出流 复制文件

    package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...

  10. JAVA之IO文件读写

    IO概述:                                                          IO(Input output)流 作用:IO流用来处理设备之间的数据传输 ...

随机推荐

  1. 2016中国大学生程序设计竞赛 - 网络选拔赛 1001 A water problem (大数取余)

    Problem Descripton Two planets named Haha and Xixi in the universe and they were created with the un ...

  2. Universal-Image-Loader分析:

    Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.权限: <uses-permission ...

  3. hdu_2546_饭卡(01背包)

    题目连接:hdu_2546_饭卡 题意:中文,不解释 题解:先拿5元来买最贵的,最后就是一个01背包,这里也算用到贪心的思想 #include<bits/stdc++.h> #define ...

  4. nginx 504 Gateway Time-out 解决办法

    今天用PHP执行一个非常耗时的文件[ps:自己有用,大概3分钟] 但是执行到一分钟后显示 nginx 504 Gateway Time-out 于是修改php-ini.php中的max_executi ...

  5. 在Gridview编辑时添加DropDownList控件并设置默认值

    页面代码: <asp:GridView ID="GridView1" runat="server"             AutoGenerateCol ...

  6. CodeForces 591B Rebranding

    水题 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #incl ...

  7. php url 伪静态

    手册上说:   'PATH_INFO'    包含由客户端提供的.跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息,如果存在的话.例如,如果当前脚本是通过 URL http ...

  8. mtp

    http://www.android.gs/mount-google-nexus-4-mtp-sd-card-on-ubuntu-and-other-linux-computers/ https:// ...

  9. HTML5绘制矩形和圆形并且还有获取在这个图层内的坐标的思路和代码 - feilong_12的专栏 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  10. codis 新版本 CodisLabs 编译安装

    codis 3.0 版本编译安装 # 首先安装 go 语言 wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz ...