当前位置: 首页 > wzjs >正文

我被钓鱼网站骗了骗取建设信用卡建设银行会怎么处理钱会还回吗windows优化大师怎么用

我被钓鱼网站骗了骗取建设信用卡建设银行会怎么处理钱会还回吗,windows优化大师怎么用,网站图片等比缩小,垦利区建设局网站Java 流(Stream)、文件(File)和IO 语法知识点及案例代码 一、Java 流(Stream) 1.1 概念 流是 Java 中用于处理输入/输出操作的抽象概念。流可以看作是数据的管道,数据从源头流向目的地。Java 中的流分为两大类: 字节流:以字节为单位进行数…

Java 流(Stream)、文件(File)和IO 语法知识点及案例代码

一、Java 流(Stream)

1.1 概念
  • 是 Java 中用于处理输入/输出操作的抽象概念。
  • 流可以看作是数据的管道,数据从源头流向目的地。
  • Java 中的流分为两大类:
    • 字节流:以字节为单位进行数据读写,适用于所有类型的数据。
    • 字符流:以字符为单位进行数据读写,适用于文本数据。
1.2 字节流
  • InputStream:所有字节输入流的父类。
    • FileInputStream:从文件中读取字节数据。
    • ByteArrayInputStream:从字节数组中读取字节数据。
    • BufferedInputStream:带缓冲区的字节输入流,提高读取效率。
  • OutputStream:所有字节输出流的父类。
    • FileOutputStream:向文件中写入字节数据。
    • ByteArrayOutputStream:向字节数组中写入字节数据。
    • BufferedOutputStream:带缓冲区的字节输出流,提高写入效率。
1.3 字符流
  • Reader:所有字符输入流的父类。
    • FileReader:从文件中读取字符数据。
    • InputStreamReader:将字节流转换为字符流。
    • BufferedReader:带缓冲区的字符输入流,提高读取效率。
  • Writer:所有字符输出流的父类。
    • FileWriter:向文件中写入字符数据。
    • OutputStreamWriter:将字符流转换为字节流。
    • BufferedWriter:带缓冲区的字符输出流,提高写入效率。
1.4 案例代码
import java.io.*;public class StreamExample {public static void main(String[] args) {// 1. 使用字节流复制文件try (FileInputStream fis = new FileInputStream("input.txt");FileOutputStream fos = new FileOutputStream("output.txt")) {byte[] buffer = new byte[1024];int len;while ((len = fis.read(buffer)) != -1) {fos.write(buffer, 0, len);}System.out.println("文件复制成功!");} catch (IOException e) {e.printStackTrace();}// 2. 使用字符流读取文件内容并打印try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {String line;while ((line = br.readLine()) != null) {System.out.println(line);}} catch (IOException e) {e.printStackTrace();}// 3. 使用缓冲流提高读写效率try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("input.txt"));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("output.txt"))) {byte[] buffer = new byte[1024];int len;while ((len = bis.read(buffer)) != -1) {bos.write(buffer, 0, len);}System.out.println("文件复制成功!");} catch (IOException e) {e.printStackTrace();}}
}

二、Java 文件(File)

2.1 概念
  • File 类代表文件和目录路径名的抽象表示。
  • 可以使用 File 类来创建、删除、重命名文件和目录,以及获取文件和目录的属性信息。
2.2 常用方法
  • boolean createNewFile():创建新文件。
  • boolean mkdir():创建目录。
  • boolean delete():删除文件或目录。
  • boolean exists():判断文件或目录是否存在。
  • String getName():获取文件或目录的名称。
  • String getPath():获取文件或目录的路径。
  • long length():获取文件的大小。
  • boolean isFile():判断是否是文件。
  • boolean isDirectory():判断是否是目录。
2.3 案例代码
import java.io.File;public class FileExample {public static void main(String[] args) {// 1. 创建文件File file = new File("test.txt");try {if (file.createNewFile()) {System.out.println("文件创建成功!");} else {System.out.println("文件已存在!");}} catch (IOException e) {e.printStackTrace();}// 2. 获取文件信息System.out.println("文件名称:" + file.getName());System.out.println("文件路径:" + file.getPath());System.out.println("文件大小:" + file.length() + " bytes");System.out.println("是否是文件:" + file.isFile());System.out.println("是否是目录:" + file.isDirectory());// 3. 删除文件if (file.delete()) {System.out.println("文件删除成功!");} else {System.out.println("文件删除失败!");}}
}

三、Java IO

3.1 概念
  • IO 是 Input/Output 的缩写,即输入/输出。
  • Java IO 提供了丰富的类库来处理各种输入/输出操作,例如文件读写、网络通信等。
3.2 常用类
  • File:代表文件和目录。
  • InputStream/OutputStream:字节流。
  • Reader/Writer:字符流。
  • BufferedReader/BufferedWriter:带缓冲区的字符流。
  • DataInputStream/DataOutputStream:用于读写基本数据类型。
  • ObjectInputStream/ObjectOutputStream:用于读写对象。
3.3 案例代码
import java.io.*;public class IOExample {public static void main(String[] args) {// 1. 使用 DataOutputStream 写入数据try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"))) {dos.writeInt(100);dos.writeDouble(3.14);dos.writeBoolean(true);dos.writeUTF("Hello, World!");} catch (IOException e) {e.printStackTrace();}// 2. 使用 DataInputStream 读取数据try (DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"))) {int i = dis.readInt();double d = dis.readDouble();boolean b = dis.readBoolean();String s = dis.readUTF();System.out.println("读取的数据:" + i + ", " + d + ", " + b + ", " + s);} catch (IOException e) {e.printStackTrace();}// 3. 使用 ObjectOutputStream 序列化对象try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.txt"))) {oos.writeObject(new Person("张三", 20));} catch (IOException e) {e.printStackTrace();}// 4. 使用 ObjectInputStream 反序列化对象try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.txt"))) {Person person = (Person) ois.readObject();System.out.println("反序列化的对象:" + person);} catch (IOException | ClassNotFoundException e) {e.printStackTrace();}}
}class Person implements Serializable {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}
}

四、总结

Java 流、文件和 IO 是 Java 编程中非常重要的部分,掌握这些知识可以帮助我们更好地处理各种输入/输出操作。

以下是一些实际开发中常见的 Java 流、文件和 IO 的具体案例,涵盖了文件读写、网络通信、数据处理等场景。


五、实际开发案例

1. 读取配置文件

在实际开发中,经常需要读取配置文件(如 .properties 文件)来加载配置信息。

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;public class ConfigFileExample {public static void main(String[] args) {Properties properties = new Properties();try (FileInputStream fis = new FileInputStream("config.properties")) {// 加载配置文件properties.load(fis);// 读取配置项String username = properties.getProperty("username");String password = properties.getProperty("password");System.out.println("Username: " + username);System.out.println("Password: " + password);} catch (IOException e) {e.printStackTrace();}}
}

配置文件 config.properties 内容:

username=admin
password=123456

2. 日志记录到文件

在实际开发中,通常需要将日志信息记录到文件中,以便后续分析和排查问题。

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDateTime;public class LoggingExample {public static void main(String[] args) {String logFile = "app.log";try (PrintWriter writer = new PrintWriter(new FileWriter(logFile, true))) {// 记录日志writer.println(LocalDateTime.now() + " - Application started.");writer.println(LocalDateTime.now() + " - Performing some operation...");writer.println(LocalDateTime.now() + " - Application finished.");System.out.println("日志已记录到文件: " + logFile);} catch (IOException e) {e.printStackTrace();}}
}

日志文件 app.log 内容:

2023-10-25T14:30:00.123 - Application started.
2023-10-25T14:30:01.456 - Performing some operation...
2023-10-25T14:30:02.789 - Application finished.

3. 文件上传功能

在 Web 开发中,文件上传是一个常见的功能。以下是一个模拟文件上传的案例。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;public class FileUploadExample {public static void main(String[] args) {// 模拟上传的文件流(假设从网络或客户端获取)InputStream inputStream = FileUploadExample.class.getResourceAsStream("/example.txt");// 目标文件路径String uploadPath = "uploads/example.txt";File uploadDir = new File("uploads");if (!uploadDir.exists()) {uploadDir.mkdir(); // 创建上传目录}try (FileOutputStream fos = new FileOutputStream(uploadPath)) {byte[] buffer = new byte[1024];int len;while ((len = inputStream.read(buffer)) != -1) {fos.write(buffer, 0, len); // 将文件写入目标路径}System.out.println("文件上传成功: " + uploadPath);} catch (IOException e) {e.printStackTrace();}}
}

4. 读取 CSV 文件并解析

在实际开发中,CSV 文件常用于数据导入导出。以下是一个读取 CSV 文件并解析数据的案例。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class CSVReaderExample {public static void main(String[] args) {String csvFile = "data.csv";try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {String line;while ((line = br.readLine()) != null) {// 按逗号分割每一行数据String[] data = line.split(",");System.out.println("Name: " + data[0] + ", Age: " + data[1] + ", City: " + data[2]);}} catch (IOException e) {e.printStackTrace();}}
}

CSV 文件 data.csv 内容:

John,25,New York
Alice,30,Los Angeles
Bob,22,Chicago

5. 网络文件下载

在实际开发中,经常需要从网络下载文件并保存到本地。

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;public class FileDownloadExample {public static void main(String[] args) {String fileUrl = "https://example.com/path/to/file.zip";String savePath = "downloads/file.zip";try (BufferedInputStream in = new BufferedInputStream(new URL(fileUrl).openStream());FileOutputStream fos = new FileOutputStream(savePath)) {byte[] buffer = new byte[1024];int len;while ((len = in.read(buffer)) != -1) {fos.write(buffer, 0, len); // 将网络文件写入本地}System.out.println("文件下载完成: " + savePath);} catch (IOException e) {e.printStackTrace();}}
}

6. 对象序列化与反序列化

在实际开发中,对象序列化常用于将对象保存到文件或通过网络传输。

import java.io.*;public class SerializationExample {public static void main(String[] args) {// 对象序列化try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("user.dat"))) {User user = new User("Alice", 30);oos.writeObject(user);System.out.println("对象已序列化到文件: user.dat");} catch (IOException e) {e.printStackTrace();}// 对象反序列化try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.dat"))) {User user = (User) ois.readObject();System.out.println("从文件反序列化的对象: " + user);} catch (IOException | ClassNotFoundException e) {e.printStackTrace();}}
}class User implements Serializable {private String name;private int age;public User(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "User{name='" + name + "', age=" + age + "}";}
}

7. 大文件分块读取

对于大文件,一次性读取可能会导致内存溢出。可以通过分块读取的方式处理。

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;public class LargeFileReadExample {public static void main(String[] args) {String filePath = "largefile.log";try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filePath))) {byte[] buffer = new byte[1024 * 1024]; // 每次读取 1MBint len;while ((len = bis.read(buffer)) != -1) {// 处理读取的数据System.out.println("读取了 " + len + " 字节数据");}} catch (IOException e) {e.printStackTrace();}}
}

8. 文件压缩与解压缩

在实际开发中,文件压缩和解压缩是常见的操作。

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;public class ZipExample {public static void main(String[] args) {String[] filesToZip = {"file1.txt", "file2.txt"};String zipFile = "archive.zip";try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))) {for (String file : filesToZip) {try (FileInputStream fis = new FileInputStream(file)) {ZipEntry zipEntry = new ZipEntry(file);zos.putNextEntry(zipEntry);byte[] buffer = new byte[1024];int len;while ((len = fis.read(buffer)) != -1) {zos.write(buffer, 0, len);}zos.closeEntry();}}System.out.println("文件压缩完成: " + zipFile);} catch (IOException e) {e.printStackTrace();}}
}

总结

以上案例涵盖了文件读写、网络通信、数据处理等实际开发中常见的场景。通过这些案例,可以更好地理解 Java 流、文件和 IO 的应用。希望对你有所帮助!

http://www.dtcms.com/wzjs/458700.html

相关文章:

  • 做网站的office平台深圳做网站的公司有哪些
  • 网站建设实训个人总结3000字百度小说官网
  • 网站开发代理商谷歌广告平台
  • wordpress无法显示主页内容关键词优化按天计费
  • 可以做皮肤测试的网站上海百度搜索排名优化
  • 九江 网站建设莆田seo推广公司
  • 呼和浩特建设工程安全管理网站seo有名气的优化公司
  • 小红书网站开发费用百度推广平台首页
  • psd设计网站模板境外电商有哪些平台
  • 自己怎么做网站网页厦门seo网站排名优化
  • 网站主要应用俄罗斯搜索引擎yandex推广入口
  • 一个微信小程序大概多少钱seo优化培训班
  • 免费建设网站北京朝阳区疫情最新情况
  • 泗阳网站建设拼多多运营
  • 网站开发具体工作内容小说网站排名前十
  • 个人网站怎么做百度推广免费创建自己的网站
  • 注册公司名字大全免费推广优化厂商联系方式
  • 中国建设招标网官方网站今天最新的新闻
  • 如何在社交网站上做视频推广app拉新项目
  • 用web做的网站吗seo长沙
  • 北京网站建设小公司有哪些深圳网页搜索排名提升
  • 网站降权是什么意思营口建网站的公司
  • 信阳市人民政府班子成员官网百度seo公司
  • 微信公众平台 网站开发整站seo排名外包
  • 沧州网站建设报价企业网络组网设计
  • 揭阳市榕城区建设局网站磁力
  • 检查色盲效果网站今日国内新闻热点
  • 购物网站哪个最便宜互联网app推广具体怎么做
  • 西八里庄网站建设知乎推广优化
  • 做网站要有什么功能google chrome官网下载