java读写文件IO
- package Common.readFile;
- import Common.tool.User;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import java.io.*;
- import java.nio.charset.Charset;
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.util.Map;
- /**
- * @author:
- * @date: 2018/12/21
- * @description:
- */
- public class UserIO {
- private static final ObjectMapper objectMapper = new ObjectMapper();
- public static void main(String[] args) throws IOException {
- getFileInputStream();//FileInputStream
- getFileOutputStream();//FileOutputStream
- getBufferedReaderAndBufferedWriter();//BufferedReader和BufferedWriter
- getInputStreamReader();//InputStreamReader
- getnewBufferedReader();//Path和newBufferedReader
- Convert();//对象转化为json,json转化为map
- }
- /**FileInputStream的用法*/
- public static void getFileInputStream(){
- try {
- String path = "D:/1.txt";
- File file = new File(path);
- //参数是file或者path,都一样,都可以
- FileInputStream fileInputStream = new FileInputStream(path);//文件输入流
- byte[] data = new byte[1024];
- fileInputStream.read(data);
- String str = new String(data, "GBK");
- System.out.println(str);
- } catch (Exception e) {
- }
- }
- /**FileOutputStream的用法*/
- public static void getFileOutputStream(){
- try {
- FileOutputStream fileOutputStream = new FileOutputStream("D:/02.txt");
- String name = "FileOutputStream类提供了多种文件写入方法,可以单独写一个字节到文" +
- "件,也可以写一个byte数组到文件,也可以取byte数组的部分数据写入到文件。";
- fileOutputStream.write(name.getBytes("utf-8"));//文件输出流
- fileOutputStream.flush();
- fileOutputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**BufferedReader和BufferedWriter的用法*/
- public static void getBufferedReaderAndBufferedWriter() throws IOException {
- Path path = Paths.get("D:/1.txt");
- if (path.toFile().exists()) {
- long size = path.toFile().length()/(1024*1024);
- System.out.println("文件大小为:" + size + "M");
- }
- //产生乱码
- BufferedReader reader = new BufferedReader(new FileReader(new File("D:/1.txt")));
- BufferedWriter bfw = new BufferedWriter(new FileWriter(new File("D:/03.txt")));
- String line = null;
- try {
- while ((line = reader.readLine()) != null) {
- System.out.println(line);
- bfw.write(line);
- bfw.newLine();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }finally {
- bfw.close();
- }
- }
- /**InputStreamReader的用法*/
- public static void getInputStreamReader() throws IOException {
- Path path = Paths.get("D:/1.txt");
- if (path.toFile().exists()) {
- long size = path.toFile().length()/(1024*1024);
- System.out.println("文件大小为:" + size + "M");
- }
- //不产生乱码
- BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path.toFile()),"GBK"));
- BufferedWriter bfw = new BufferedWriter(new FileWriter(new File("D:/04.txt")));
- String line = null;
- try {
- while ((line = reader.readLine()) != null) {
- System.out.println(line);
- bfw.write(line);
- bfw.newLine();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }finally {
- bfw.close();
- }
- }
- /**Path和newBufferedReader的用法*/
- public static void getnewBufferedReader() throws IOException {
- Path path = Paths.get("D:/1.txt");
- if (path.toFile().exists()) {
- System.out.println("文件存在");
- }
- BufferedReader reader = Files.newBufferedReader(path, Charset.forName("GBK"));
- BufferedWriter bfw = new BufferedWriter(new FileWriter(new File("D:/05.txt")));
- String line = null;
- try {
- while ((line = reader.readLine()) != null) {
- bfw.write(line);
- bfw.newLine();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }finally {
- bfw.close();
- }
- }
- /**对象转化为json,json转化为map*/
- public static void Convert() throws IOException {
- User user = new User("yiqq",28);
- System.out.println(user);
- //对象转Json
- String json = objectMapper.writeValueAsString(user);
- System.out.println(json);
- //Json转map
- Map param = objectMapper.readValue(json, Map.class);
- System.out.println(param);
- }
- }
java读写文件IO的更多相关文章
- Java读写文件方法总结
Java读写文件方法总结 Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便.奈何我的记性实在是叫人着急,很多时候既 ...
- Java读写文件的几种方式
自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ...
- java读写文件大全
java读写文件大全 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int o ...
- 【java】java 读写文件
场景:JDK8 将上传的文件,保存到服务器 Java读写文件操作: MultipartFile file InputStream inputStream = file.getInputStream( ...
- java 流 文件 IO
Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类 ...
- 转:Java读写文件各种方法及性能比较
干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记.经常想得捡起,但总是因为一些原因,不能如愿. 其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来. 文件 ...
- Java读写文件常用方法
一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...
- Java 之文件IO编程 之写入
package com.sun; /* * 操作对文件IO的写 * 2014-08-10 */ import java.io.*; public class File_Write { public s ...
- Java 之文件IO编程 之读取
package com.sun; /* * 这里是对文件IO流读取的操作 * 2014-08-10 */ import java.io.*; public class File_test { publ ...
随机推荐
- java并发编程(十七)----(线程池)java线程池架构和原理
前面我们简单介绍了线程池的使用,但是对于其如何运行我们还不清楚,Executors为我们提供了简单的线程工厂类,但是我们知道ThreadPoolExecutor是线程池的具体实现类.我们先从他开始分析 ...
- 2019牛客多校训练第三场H.Magic Line(思维)
题目传送门 大致题意: 输入测试用例个数T,输入点的个数n(n为偶数),再分别输入n个不同的点的坐标,要求输出四个整数x1,y1,x2,y2,表示有一条经过点(x1,y1),(x2,y2)的直线将该二 ...
- 使用python画3D线条
"""用于验证整体趋势正确性""" #!python3 #-*- coding:utf-8 -*- import matplotlib as ...
- 关于修改主机名和ssh免密登录
修改主机名的常规方法: 1.hostname name2.echo name > /proc/sys/kernel/hostname3.sysctl kernel.hostname=name4 ...
- Gin + Vue全栈开发实战(一)
Gin入门 本章概要 Gin简介 开发第一个Gin程序 1.1 Gin简介 Gin是用Go语言编写的一个轻量级Web应用框架,现在在各个公司包括字节跳动.bilibili等大互联网公司都得到了广泛的应 ...
- 直击根源:微信小程序中web-view再次刷新后页面需要退两次
背景 在上一章(直击根源:vue项目微信小程序页面跳转web-view不刷新)解决了vue在小程序回退不刷新的问题之后,会引出了一个刷新的页面需要点击返回两次才能返回上一个页面 问题描述 在A页面从B ...
- 【KakaJSON手册】03_JSON转Model_03_key处理
有时候,服务器返回的JSON数据的key跟客户端模型的属性名可能不一致,比如客户端遵守驼峰规范叫做nickName,而服务器端返回的JSON可能叫做nick_name.这时候为了保证数据转换成功,就需 ...
- Go-cron定时任务
1.cron(计划任务) 按照约定的时间,定时的执行特定的任务(job). cron 表达式 表达了这种约定. cron 表达式代表了一个时间集合,使用 6 个空格分隔的字段表示. 秒 分 时 日 月 ...
- 【redis】redis应用场景,缓存的各种问题
如果你还不知道redis的基本命令与基本使用方法,请看 [redis]redis基础命令学习集合 缓存 redis还有另外一个重要的应用领域——缓存 引用来自网友的图解释缓存在架构中的位置 默认情况下 ...
- Nginx总结(一)Linux如何安装Nginx
以前写过一些Nginx的文章,但都是用到什么说什么,没有一个完整系统的总结.趁最近有时间,打算将Nginx相关的内容重新整理一下.nginx系列文章地址如下:https://www.cnblogs.c ...