Java——I/O相关练习代码
File文件的相关练习
文件操作的三种方式:
public static void main(String[] args) {
//用File表示D:/IoFile/File/File.txt
File f1 = new File("D:/IoFile/File/File.txt");
File f2 = new File("D:/IoFile/File","File.txt");
//文件夹
File parent = new File("D:/IoFile/File");
//文件
File f3 = new File(parent,"File.txt");
}
文件的相关方法练习:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("输入一个文件路径,显示文件的相关属性:");
String str1 = sc.next();
File f1 = new File(str1);
//文件是否存在
System.out.println("文件存在?:"+f1.exists());
//读写属性
System.out.println("可读?;"+f1.canRead());
System.out.println("可写?:"+f1.canWrite());
//是否是目录
System.out.println("是否是目录:"+f1.isDirectory());
//文件的绝对路径
System.out.println("文件的绝对路径为:"+f1.getAbsolutePath());
//文件的上级文件
System.out.println("文件的上级文件为:"+f1.getParent());
}
文件创建、删除操作:
public static void main(String[] args) {
//创建文件
File file = new File("D:/IoFile/File/dir1/dir2");
//创建普通文件
// try {
// file.createNewFile();
// System.out.println("文件创建成功!");
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//创建文件夹
// file.mkdir();
// System.out.println("文件夹创建成功!");
//mkdirs 递归创建文件夹
File file1 = new File("D:/IoFile/File/File/File/file");
System.out.println(file1.mkdirs());
//在D:/iodemo/abc/def下创建一个文件a.txt
File parent = new File("D:/iodemo/abc/def");
File a = new File(parent,"a.txt");
//判断文件夹是否存在
if(!parent.exists()){
//不存在先创建文件夹
parent.mkdirs();
}
try {
//文件创建成功
a.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
文件练习:
输出一个文件夹中的所有文件、普通文件、以及文件夹的大小。
public static void main(String[] args) {
String str = "D:/IoFile/File";
File f = new File(str);
int count=0;
int totalsize=0;
if(f.exists()){
File[] files = f.listFiles();
System.out.println("所有文件个数是:"+files.length);
//循环遍历所有文件
for(int i = 0;i<files.length;i++){
if(files[i].isFile()){
//普通文件个数
count++;
//文件大小
//文件夹没有大小,若文件夹里有文件,则文件夹大小为文件大小之和
totalsize+=files[i].length();
}
}
System.out.println("普通文件个数是:"+count);
System.out.println("所有文件大小是:"+(float)totalsize/1024+"kb");
}else{
System.out.println("该文件夹不存在!");
}
}
FileReader读取文件
public static void main(String[] args) {
//读取文件
File f = new File("D:/IoFile/File/fileReader.txt");
FileReader fr=null;
try {
fr = new FileReader(f);
char[] c = new char[1024];
int len=0;
StringBuffer sb= new StringBuffer();
while((len=fr.read(c,0,10))!=-1){
//把读取到的内容存放到sb中
sb.append(c,0,len);
}
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(fr!=null) {
fr.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
读取文件逐行读取
//读取文件
File f = new File("D:/IoFile/File/fileReader.txt");
FileReader fr=null;
BufferedReader br = null;
fr = new FileReader(f);
br = new BufferedReader(fr);
String str =null;
//逐行读取
while((str=br.readLine())!=null){
System.out.println(str);
}
InputStreamReader(字符输出流)
public static void main(String[] args) {
//字节流转字符流
FileInputStream fis=null;
InputStreamReader isr = null;
BufferedReader br =null;
try {
fis = new FileInputStream("D:/IoFile/File/isr.txt");
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
StringBuffer sb = new StringBuffer();
String str=null;
while((str=br.readLine())!=null){
sb.append(str+"\r\n");
}
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
if(br!=null){
br.close();
}
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
换行输出
FileWriter fw=null;
fw = new FileWriter("D:/IoFile/fw.txt");
// \r\n 换行
fw.write("求知若饥\r\n");
fw.write("噼里啪啦");
System.out.println("写入成功!");
BufferedWriter
换行输出
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter("D:/IoFile/File/bw.txt"));
bw.write("第一段测试");
//换行
bw.newLine();
bw.write("测试第二段");
System.out.println("写入成功!");
}
FileOutputStream
try {
//把程序和目标源建立连接
FileOutputStream fos = new FileOutputStream("D:/IoFile/out.txt");
//把字符串转成字节数组
String str = "求知若愚,虚心若饥";
fos.write(str.getBytes());
//flush 把数据完全冲刷到目标源中
fos.flush();
fos.close();
System.out.println("文件写入成功!");
}
BufferedOutputStream
try {
//把程序和目标源建立连接
//Buffer更加安全
//直接传文件名,默认覆盖原有内容
//文件名+true;在原有内容后追加新内容
// BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:/IoFile/buffer.txt"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:/IoFile/buffer.txt",true));
//把字符串转成字节数组
String str = "求知若愚,虚心若饥";
bos.write(str.getBytes());
//flush 把数据完全冲刷到目标源中
bos.flush();
bos.close();
System.out.println("文件写入成功!");
}
DataOutputStream
try {
//写入
DataOutputStream dos = new DataOutputStream(new FileOutputStream("D:/IoFile/data.txt"));
dos.writeBoolean(true);
dos.writeInt(110);
dos.writeUTF("求知若饥");
dos.flush();
dos.close();
System.out.println("写入成功!");
}
PrintStream
//构造参数传System,out,就是在控制台打印信息
// PrintStream ps = new PrintStream(System.out);
// ps.print("132546u");
try {
PrintStream ps1=
new PrintStream
(new FileOutputStream("D:/IoFile/print.txt"));
ps1.println("虚心若愚");
ps1.println("求知若饥");
ps1.println("求知若饥");
ps1.println("虚心若愚");
ps1.flush();
ps1.close();
System.out.println("写入成功!");
}
Java——I/O相关练习代码的更多相关文章
- java 发送邮件 email相关操作代码测试,生成复杂格式邮件,发送邮件相关操作
项目源码下载:http://download.csdn.net/detail/liangrui1988/6720047 效果图: 相关代码: test1 package com.mail; impor ...
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
- Java内存模型相关原则详解
在<Java内存模型(JMM)详解>一文中我们已经讲到了Java内存模型的基本结构以及相关操作和规则.而Java内存模型又是围绕着在并发过程中如何处理原子性.可见性以及有序性这三个特征来构 ...
- 推荐Java五大微服务器及其代码示例教程
来源素文宅博客:http://blog.yoodb.com/yoodb/article/detail/1339 微服务越来越多地用于开发领域,因为开发人员致力于创建更大,更复杂的应用程序,这些应用程序 ...
- Java 并发,相关术语
Java 并发,相关术语: 术语 作用 synchronize 可修饰方法.代码块.类:介绍:https://www.cnblogs.com/zyxiaohuihui/p/9096882.html L ...
- paip.java 注解的详细使用代码
paip.java 注解的详细使用代码 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...
- 在Java中直接调用js代码(转载)
http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Ja ...
- 在Java中直接调用js代码
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert ...
- java 覆盖hashCode()深入探讨 代码演示样例
java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...
随机推荐
- 架构设计哲学【三种方式:支持DevOps的原则】
三种方式:支持DevOps的原则 2012年8月22日作者Gene Kim 45条评论 这篇文章是杨波老师分享的一篇文章:这几年对他架构影响最深的一篇文章.主要描述是关于DevOps的,但对系统架构同 ...
- SAML和OAuth2这两种SSO协议的区别
目录 简介 SAML SAML的缺点 OAuth2 OAuth2的缺点 两者的对比 CAS简介 简介 SSO是单点登录的简称,常用的SSO的协议有两种,分别是SAML和OAuth2.本文将会介绍两种协 ...
- Game of Sum
可以知道整体石子的总和一定的,所以一个人的得分越高,另一个人的得分就越低.不管怎么取任意时刻游戏的状态都是原始序列的一段连续子序列(即被玩家取剩下的序列). 因此,用d(i,j)表示玩家A在i到j部分 ...
- PHP 爬取图片 保存本地
public function getImage($url,$filename='') { if($url == ''){ return false; } if($filename == ''){ $ ...
- 【Spring】Spring 事务控制
Spring 事务控制 Spring 事务控制介绍 JavaEE 体系进行分层开发,事务控制位于业务层,Spring 提供了分层设计业务层的事务处理解决方案. Spring 的事务控制都是基于 AOP ...
- redis 5.0.5 安装
redis 5.0.5 安装脚本: #!/bin/bash cd /data/src/ test -e tcl8.6.9-src.tar.gz || wget http://downloads.sou ...
- python函数2-函数参数
rgb法则:
- 【ASM】asm中添加 diskgroup
环境:rhel5 Oracle10g rac 背景:在esxi中添加了一个20g的共享磁盘准备存放归档日志用 一.准备环境 1.添加共享磁盘并且格式化 #fdisk -l查看磁盘已经添加完成 #fdi ...
- ctfhub技能树—信息泄露—git泄露—Log
什么是git泄露? 当前大量开发人员使用git进行版本控制,对站点自动部署.如果配置不当,可能会将.git文件夹直接部署到线上环境.这就引起了git泄露漏洞. 打开靶机环境 查看网页内容 使用dirs ...
- centos7搭建dolphinscheduler集群
一.简述 Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用.有 ...