package hanqi.test;

import java.io.File;
import java.io.IOException; public class Test02 {
public static void main(String[] args) { //目录操作
File dir =new File("d:/test/newdir"); //判断是否存在
if(dir.exists())
{
System.out.println("目录存在");
}
else
{
System.out.println("目录不存在");
//创建新目录
//只能一次创建最底层的目录
//要求上层目录必须存在
//dir.mkdirs(); //可以同时创建多层目录
dir.mkdirs();
System.out.println("创建目录成功");
} //目录和文件结合操作
//
String dir1="d:/test01";
String filename="test01.txt";
//File file = new File(dir1,filename);
//目录的对象
File d1=new File(dir1);
//判断目录不存在
if(!d1.exists())
{
//创建目录
d1.mkdirs();
}
File file=new File(d1,filename);
//创建文件
try{
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
} }
}

package hanqi.test;

import java.io.File;
import java.io.IOException; public class Test07 { public static void main(String[] args) { //io流,File类的测试 //实例化某个文件的file对象
File file = new File("d:/test.txt"); //判断目标是否存在
if (file.exists())
{
System.out.println(file.getName()+"存在");
//删除
// file.delete();
// System.out.println(file.getName()+"已删除"); //改名
//本质:把原有文件以新的文件名和路径进行复制,然后删除源文件
file.renameTo(new File("d:/test2.txt"));
//没有提供复制方法
System.out.println(file.getName()+"文件改名成功");
}
else
{
System.out.println(file.getName()+"不存在"); //创建文件
try{
file.createNewFile();
System.out.println("创建"+file.getAbsolutePath());
}
catch(IOException e){
e.printStackTrace();
}
}
} }
package hanqi.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; public class Test03 { public static void main(String[] args){
//字节流
//输出流 从内存流向文件 try { //构造方法确定目标文件
//如果文件不存在,自动创建该文件,但不自动创建目录
//如果目录不存在,会引发异常
//FileOutputStream out = new FileOutputStream("d:/text03.txt"); File file = new File("d:/test"); if(!file.exists())
{
file.mkdirs();
} File file1 = new File("d:/test03.txt"); FileOutputStream out = new FileOutputStream(file1); //写入的内容
String nr="今天是星期一"; //把数据转成byte数组
byte[] b=nr.getBytes(); //写入数据到文件中
//byte[]内容数组 //思考题:把输出流的写入方式由覆盖改为追加 out.write(b); out.close(); //关闭流 ,释放资源 System.out.println("输出流写入文件成功"); //输入流 从文件吧数据读入内存
FileInputStream in =new FileInputStream("d:/test/test03.txt"); //装在数据的数组
byte[] b1= new byte[1024]; int i=0; String str=""; // 读取数据
//分段按顺序读取,每次最多读取数组长度大小的数据
//返回值表示每次读取的数据长度,如果数据读取完或读取失败,返回-1. while((i = in.read(b1))>0)
{
//组合数据
//参数 1 - 起始位置
str += new String(b1,0,i); } int j=in.read(b); System.out.println(j); System.out.println(str); in.close(); } catch (Exception e) { e.printStackTrace();
} }
}
package hanqi.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; public class Test04 { public static void main(String[] args){ //追加 //1、先读取源文件内容
//输入流
//如果文件不存在,抛出异常
try {
FileInputStream in = new FileInputStream("d:/test/test03.txt");
//byte[]
byte[] b= new byte[1024]; //长度
int i = -1; //内容
StringBuilder str= new StringBuilder(); while((i=in.read(b))>0)
{
//组装数据
str.append(new String(b,0,i));
}
System.out.println(str); //2、把新内容追加到后面
str.append("\n这是追加的内容"); //3、把新内容覆盖源文件
//输出流
FileOutputStream out = new FileOutputStream("d:/test/test03.txt"); //写入数据
out.write(str.toString().getBytes()); //释放资源
out.close(); System.out.println("追加完成"); } catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} }
}
package hanqi.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class Test05 { public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根 FileOutputStream out = new FileOutputStream("d:/test/test03.txt",true); String str ="\r\n新的构造方法";
//写入数据
out.write(str.toString().getBytes()); //释放资源
out.close(); System.out.println("追加完成"); FileInputStream in = new FileInputStream("d:/test/test03.txt");
//byte[]
byte[] b= new byte[1024]; //长度
int i = -1; //内容
StringBuilder str1= new StringBuilder(); while((i=in.read(b))>0)
{
//组装数据
str1.append(new String(b,0,i));
}
System.out.println(str1);
} }

Java基础,输入输出的更多相关文章

  1. Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

    3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = ...

  2. Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

    2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt ...

  3. JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

    1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上. package Test03; ...

  4. Java基础——输入输出

    在程序最开始  import java.util.*; 因为Scanner类定义在java.util包中. 读取输入: 先构造一个Scanner对象,并与"标准输入流"System ...

  5. JAVA基础(三)—— 输入输出处理

    JAVA基础(三)-- 输入输出处理 1 输入解析 //Scanner获取输入 import java.util.Scanner; Scanner s = new Scanner(System.in) ...

  6. JAVA基础--IO输入输出(File使用)17

    一. File中的方法 1.  列举方法 /* * 获取指定目录以及子目录下的所有文件和文件夹 */ public class ListFilesDemo { public static void m ...

  7. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  8. Java基础常见英语词汇

    Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的                             ['prəʊɡræmɪŋ]编程 OO: object ...

  9. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  10. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

随机推荐

  1. Python 学习---------Day1

    第一章 问答环节一.人们为何使用Python 软件质量 开发者的效率 程序的可移植性 标准库的支持 组件集成 享受乐趣二.Python的缺点 Python唯一的缺点就是:与C/C++这类编译语言相比, ...

  2. C++内存对齐的理解

    程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式. 编译器中提供了#pragma pack(n)来设 ...

  3. ant常用命令

    1.ant -version

  4. Spring 3种注入方式

    spring的三种注入方式: 接口注入(不推荐) getter,setter方式注入(比较常用) 构造器注入(死的应用) 关于getter和setter方式的注入: autowire="de ...

  5. js学习笔记之一

    一.Javascript 中的对象 1. 建立自定义对象 方法1:对象={属性1:属性值1,属性2:属性值2……属性n:属性值n} 方法2:先定义构造函数,再new创建对象实例. 如: functio ...

  6. 【leetcode】Merge Two Sorted Lists

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  7. No prohects are avaliable for deployment to this server

    没有项目可用于部署到该服务器的项目或者所有项目都已部署到该服务器或没有发现项目 报错的就是这样的信息,网上看了很多解决方案,比如:http://ttov.blog.163.com/blog/stati ...

  8. netfx_NativeCompilation.msi 传说中的 .NET Native 预览版的文件列表

    卷 D 的文件夹 PATH 列表 卷序列号为 000000F6 CE0F:AB46 D:. │ LIST.TXT │ ├─12.0 │ └─Microsoft.Common.targets │ ├─I ...

  9. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  10. 分布式系统之Quorum (NRW)算法

    基于Quorum投票的冗余控制算法 Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理. 在有冗余数据的分布式存储系统当中,冗余数据对象 ...