IO文件
在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的静态字段,都是与系统相关的,在编程时应尽量使用。
- package cn.mndl;
- import java.io.File ;
- import java.io.IOException ;
- public class Hello {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- File f = new File ("E:" + File.separator + "test.txt") ;
- if(f.exists()){
- f.delete() ;
- System.out.println("删除成功") ;
- } else {
- try{
- f.createNewFile() ;
- System.out.println("name of teh currect file :" + f.getName()) ;
- System.out.println("parents director of the currect file :" + f.getParent()) ;
- System.out.println("full path of currect file :" +f.getPath()) ;
- System.out.println("is readable ? :"+f.canRead());
- System.out.println("is writable ?" + f.canWrite());
- } catch (IOException e){
- e.printStackTrace();
- }
- }
- }
- }
- package cn.mndl;
- import java.io.BufferedReader;
- import java.io.File ;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException ;
- public class Hello {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- try{
- //第一步,使用FILE类定义一个文件
- File inFile = new File("in.txt") ;
- File outFile = new File("out.txt") ;
- //第二步,用一个字节流或者字符流的子类进行流对象 的实例化
- FileReader fi = new FileReader(inFile) ;
- BufferedReader bfi = new BufferedReader(fi) ;
- FileWriter fo = new FileWriter(outFile);
- //第三步,读写操作
- String l = "" ;
- String [] arrs = null ;
- while((l = bfi.readLine())!= null){
- arrs = l.split(",") ;
- System.out.println(arrs[]);
- }
- //第四步,关闭字节或者字节流
- fi.close();
- bfi.close();
- fo.close();
- } catch (IOException e){
- e.printStackTrace() ;
- }
- }
- }
对象流
- package cn.mndl;
- import java.io.BufferedReader;
- import java.io.File ;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException ;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- class Student implements Serializable {
- private int id ;
- private String name ;
- public Student(int id, String name) {
- this.id = id;
- this.name = name;
- }
- public String toString(){
- return "id: " + this.id + ", name : " + this.name;
- }
- }
- public class Hello {
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- Student stu = new Student(,"zhuopeng") ;
- Student s ;
- try{
- FileOutputStream out = new FileOutputStream("123.txt") ;//输出到文件
- ObjectOutputStream so = new ObjectOutputStream(out) ;
- so.writeObject(stu) ;
- so.close();
- out.close();
- FileInputStream in = new FileInputStream("123.txt") ;//从文件中读入
- ObjectInputStream io = new ObjectInputStream(in) ;
- s = (Student) io.readObject() ;
- System.out.println(s) ;
- } catch(FileNotFoundException e){
- e.printStackTrace() ;
- } catch(Exception e){
- e.printStackTrace();
- }
- }
- }
IO文件的更多相关文章
- Java IO 文件与流基础
Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...
- 文件IO 相关的包:java.io文件——API
文件IO 相关的包:java.io文件——API 1.Java.io.File类的使用(1)两种路径绝对路径:相对于当前路径:当前为 “工程名”(2)File类创建,对象为一个文件/目录,可能存在或不 ...
- 一头扎进 Java IO中-------java IO文件
Java IO: 文件 在Java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这篇文章不会对每一个技术细节都做出解释,而是会针对文件存 ...
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...
- IO文件操作
× 目录 [1]IO文件的操作 [2]Directory类 [3]File类 [4]FileStream类 [5]文本文件的操作 一.IO文件的操作: .net中对文件操作,经常会用到这样几个类: ...
- winform IO文件操作
最近做了一个查错工具,运用了winform文件操作的知识,做了几点总结,不全面,只总结了几点项目里用过的知识(关于以下内容只是个人的理解和总结,不对的地方请多指教,有补充的可以评论留言大家一起讨论学习 ...
- java IO 文件批量重命名
java IO 文件批量重命名 package com.vfsd.renamefile; import java.io.File; import java.io.FileInputStream; im ...
- (Unity)XML文件读写与IO文件操作类使用介绍
using System.Xml; //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...
- java Io文件输入输出流 复制文件
package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...
- JAVA之IO文件读写
IO概述: IO(Input output)流 作用:IO流用来处理设备之间的数据传输 ...
随机推荐
- 2016中国大学生程序设计竞赛 - 网络选拔赛 1001 A water problem (大数取余)
Problem Descripton Two planets named Haha and Xixi in the universe and they were created with the un ...
- Universal-Image-Loader分析:
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.权限: <uses-permission ...
- hdu_2546_饭卡(01背包)
题目连接:hdu_2546_饭卡 题意:中文,不解释 题解:先拿5元来买最贵的,最后就是一个01背包,这里也算用到贪心的思想 #include<bits/stdc++.h> #define ...
- nginx 504 Gateway Time-out 解决办法
今天用PHP执行一个非常耗时的文件[ps:自己有用,大概3分钟] 但是执行到一分钟后显示 nginx 504 Gateway Time-out 于是修改php-ini.php中的max_executi ...
- 在Gridview编辑时添加DropDownList控件并设置默认值
页面代码: <asp:GridView ID="GridView1" runat="server" AutoGenerateCol ...
- CodeForces 591B Rebranding
水题 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #incl ...
- php url 伪静态
手册上说: 'PATH_INFO' 包含由客户端提供的.跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息,如果存在的话.例如,如果当前脚本是通过 URL http ...
- mtp
http://www.android.gs/mount-google-nexus-4-mtp-sd-card-on-ubuntu-and-other-linux-computers/ https:// ...
- HTML5绘制矩形和圆形并且还有获取在这个图层内的坐标的思路和代码 - feilong_12的专栏 - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- codis 新版本 CodisLabs 编译安装
codis 3.0 版本编译安装 # 首先安装 go 语言 wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz ...