Java IO

1、file类

             file类的构造方法:
public Flie(String pathname) -->实例化Flie类的时候,必须设置好路径。
如:Flie f = new Flie("d:\\test.txt");

(1)Windows中使用反斜杠表示目录的分隔符。

(2) Linux中使用正斜杠表示目录的分隔符。

Flie类主要方法:

2、字节流与字符流

Java IO的操作流程:

(1)使用Flle类打开一个文件。

(2)通过字节流和字符流的子类指定输出的位置。

(3)进行读和写的操作。

(4)关闭输入和输出。

字节流

字节输出流:OUtputStream

OutputStream是一个抽象类,因此需要通过子类FileOutputStream实例化对象,才能够使用它。

常用方法:

public void write(int b) throws IOException:

一次写一个字节    b- 要写入的字节。

public void write(byte[] b) throws IOException:

一次写一个字节数组

public void write(byte[] b, int off,int len) throws IOException:

一次写一部分字节数组

public void close()throws IOException

关闭此文件输出流并释放与此流有关的所有系统资源。此文件输出流不能再用于写入字节。

字节输入流:

它与OutputStream一样,需要通过子类FlieInputStream实例化对象。

常用方法:

字符流

字符输出流:Writer

它也是一个抽象类,需要通过子类FlieWriter实例化对象。

常用方法:

字符输入流:Reader

同样是一个抽象类,需要通过子类FlieReader实例化对象。

常用方法:

public int read() throws IOException

读取单个字符。

作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1

public int read(char[] cbuf) throws IOException

一次读取一个字节数组

cbuf - 目标缓冲区

读取的字符数,如果已到达流的末尾,则返回 -1

public void close() throws IOException

关闭该流并释放与之关联的所有资源。

public String readLine() throws IOException

读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。

包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

课堂作业

实验代码

package 课堂作业;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.Scanner; public class Main {
public static void main(String[] args) throws Exception {
String pathname="D:"+File.separator+"课堂作业"+File.separator+"作业.txt";
aFormatA(pathname);
}
public static void aFormatA(String pathname) throws Exception {
File file=new File(pathname);
Reader input=new FileReader(file);
Writer out=new FileWriter(file,true);
int z;
out.write('\n');
String str="字母大写";
out.write(str);
out.write('\n');
while(true){
if((z=input.read())!=-1){
if(z>=97&&z<=122){
z=z-97+'A';
}
out.write(z);
}
else {
break;
}
}
input.close();
out.close();
} }
package 课堂作业;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream; public class Main1{
public static void main(String[] args) throws Exception{
String pathname="D:"+File.separator+"课堂作业"+File.separator+"作业.txt";
aFormatA(pathname);
}
private static void aFormatA(String pathname) throws Exception{
File file =new File(pathname);
InputStream input=new FileInputStream(file);
OutputStream out=new FileOutputStream(file,true);
byte[] b=new byte[(int)file.length()];
int i=0;
int z;
while(true){
if((z=input.read())!=-1){
if(z<=122&&z>=97){
z=z-97+'A';
}
b[i]=(byte)z;
i++;
}
else{
break;
}
}
out.write("\n字母大写\n".getBytes());
out.write(b);
input.close();
out.close();
} }

实验截图与代码截图

第十周java总结的更多相关文章

  1. 第十周java学习总结

    目录 第十周java学习总结 学习内容 代码上传截图 代码链接 第十周java学习总结 学习内容 第12章 Java多线程机制 主要内容 Java中的线程 Thread类与线程的创建 线程的常用方法 ...

  2. 20175215 2018-2019-2 第十周java课程学习总结

    第十二章 Java多线程机制 12.1 进程与线程 12.1.1 操作系统与进程 程序是一段静态的代码,它是应用软件执行的蓝本. 进程是程序的一次动态执行过程,它对应了从代码加载.执行至执行完毕的一个 ...

  3. 第十周Java实验作业

    实验十  泛型程序设计技术 实验时间 2018-11-1 1.实验目的与要求 (1) 理解泛型概念: 泛型:也称参数化类型,就是在定义类,接口和方法时,通过类型参数只是将要处理的类型对象.(如Arra ...

  4. 第十周java 学习总结

    20145306 java的网络编程 网络概述 网络编程技术是当前一种主流的编程技术,随着联网趋势的逐步增强以及网络应用程序的大量出现,所以在实际的开发中网络编程技术获得了大量的使用.至于以后的实际修 ...

  5. 20145307第十周JAVA学习报告

    教材学习内容总结 Java的网络编程 1.计算机网络概述 (1)路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算 ...

  6. Java 第十周学习总结

    20145113<Java程序设计>第十周学习总结 基础知识 1.网络通讯的方式主要有两种 TCP(传输控制协议)方式:需要建立专用的虚拟连接以及确认传输是否正确 UDP(用户数据报协议) ...

  7. 20145213《Java程序设计》第十周学习总结

    20145213<Java程序设计>第十周学习总结 教材学习总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接 ...

  8. 21045308刘昊阳 《Java程序设计》第十周学习总结

    21045308刘昊阳 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴:程序员所作的事情 ...

  9. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

随机推荐

  1. wx小程序知识点(八)

    八.小程序的优劣势 优势:   ① 不需要下载 ② 打开速度快 ③ 开发成本低 ④ 安卓上可以添加在桌面,与原生 App 相似 ⑤ 小程序的发布审查流程比较严格,安全保障 劣势:   ① 页面大小不能 ...

  2. Spring MVC 的 multipartResolver 不能同iWebOffice2006 共同使用

    转:http://jamesby.iteye.com/blog/57381 项目使用iWebOffice2006,本来可以正常使用,但是系统有文件上传需求,故定义了一个multipartResolve ...

  3. (转)Spring实例化

    标签:SpringContextUtil,getBean 手动获取Bean 方法一  不用配置xml,直接java代码实现 /** * 工厂模式选择Bean类 */ public class MyBe ...

  4. Centos 下硬盘分区的最佳方案

    Centos7从零开始]Centos 下硬盘分区的最佳方案 2016年12月25日 10:09:02 浮華的滄桑 阅读数 41971   在对硬盘进行分区前,应该先弄清楚计算机担负的工作及硬盘的容量有 ...

  5. R & and &&

    https://blog.csdn.net/jining11/article/details/84933110 和C中的&不用,不要用&&,一般情况都是用&表示并且

  6. python中assert的用法

    assert:断言 格式: assert 表达式 [, 参数] 当表达式为真时,程序继续往下执行: 当表达式为假时,抛出AssertionError错误,并将  参数  输出 举例: def foo( ...

  7. 'vue' 不是内部或外部命令,也不是可运行的程序 或批处理文件

    解决方案:找到npm i xxx -g 下载后存放的路径,将路径添加到环境变量中,即可.1.npm config list 查看一下npm 的配置信息 2.打开路径看看里面的命令.window用户wi ...

  8. 智能指针之shared_ptr基本概述

    1.shared_ptr允许有多个指针指向同一个对象,unique_ptr独占所指向的对象. 2.类似于vector,智能指针也是模板.创建智能指针: shared_ptr<string> ...

  9. oracle ROW_NUMBER() OVER(PARTITION BY '分组' ORDER BY '排序' DESC) 用法

    转载:https://blog.csdn.net/dbagaoshou/article/details/51330829 SELECT * FROM ( SELECT ROW_NUMBER() OVE ...

  10. JavaWeb_JSTL标签数据的存储

    菜鸟教程 传送门 JSTL jar包下载 JSTL[百度百科]:(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库 ...