移动端六大语言速记:第7部分 - 文件与输入输出(I/O)

移动端六大语言速记:第7部分 - 文件与输入输出(I/O)

本文将对比Java、Kotlin、Flutter(Dart)、Python、ArkTS和Swift这六种移动端开发语言在文件与输入输出(I/O)方面的特性,帮助开发者理解和掌握各语言的I/O操作机制。

7. 文件与输入输出(I/O)

7.1 文件读写

各语言文件读写的语法对比:

语言 文本文件读取 文本文件写入 二进制文件读取 二进制文件写入
Java Files.readString(), BufferedReader Files.writeString(), BufferedWriter FileInputStream FileOutputStream
Kotlin File.readText(), File.readLines() File.writeText(), File.writeLines() File.inputStream() File.outputStream()
Dart File.readAsString(), File.readAsLines() File.writeAsString(), File.writeAsBytes() File.readAsBytes() File.writeAsBytes()
Python open().read(), open().readlines() open().write(), open().writelines() open(mode='rb') open(mode='wb')
ArkTS readFile(), readTextFile() writeFile(), writeTextFile() readArrayBuffer() writeArrayBuffer()
Swift String(contentsOfFile:) write(toFile:) Data(contentsOf:) write(to:)
示例对比

Java:

// 文本文件读写
import java.nio.file.*;
import java.io.*;

// 读取文本文件
try {
   
    String content = Files.readString(Path.of("example.txt"));
    System.out.println(content);
    
    // 使用BufferedReader逐行读取
    try (BufferedReader reader = Files.newBufferedReader(Path.of("example.txt"))) {
   
        String line;
        while ((line = reader.readLine()) != null) {
   
            System.out.println(line);
        }
    }
} catch (IOException e) {
   
    e.printStackTrace();
}

// 写入文本文件
try {
   
    Files.writeString(Path.of("output.txt"), "Hello, World!");
    
    // 使用BufferedWriter写入多行
    try (BufferedWriter writer = Files.newBufferedWriter(Path.of("output.txt"))) {
   
        writer.write("Line 1\n");
        writer.write("Line 2\n");
    }
} catch (IOException e) {
   
    e.printStackTrace();
}

// 二进制文件读写
try {
   
    // 读取二进制文件
    byte[] bytes = Files.readAllBytes(Path.of("example.bin"));
    
    // 写入二进制文件
    Files.write(Path.of("output.bin"), bytes);
} catch (IOException e) {
   
    e.printStackTrace();
}

Kotlin:

import java.io.File

// 文本文件读写
try {
   
    // 读取整个文件
    val content = File("example.txt").readText()
    println(content)
    
    // 逐行读取
    File("example.txt").forEachLine {
    line ->
        println(line)
    }
    
    // 读取所有行
    val lines = File("example.txt").readLines()
    lines.forEach {
    println(it) }
    
    // 写入文本
    File("output.txt").writeText("Hello, World!")
    
    // 写入多行
    File("output.txt").writeLines(listOf("Line 1", "Line 2"))
} catch (e: Exception) {
   
    e.printStackTrace()
}

// 二进制文件读写
try {
   
    // 读取二进制文件
    val bytes = File("example.bin").readBytes()
    
    // 写入二进制文件
    File("output.bin").writeBytes(bytes)
} catch (e: Exception) {
   
    e.printStackTrace()
}

Dart:

import 'dart:io';

// 文本文件读写
Future<void> fileOperations() async {
   
  try {
   
    // 读取整个文件
    String content = await File('example.txt').readAsString();
    print(content);
    
    // 逐行读取
    List<String> lines = await File('example.txt').readAsLines();
    lines.forEach(print);
    
    // 写入文本
    await File('output.txt').writeAsString('Hello, World!');
    
    // 写入多行
    await File('output.txt').writeAsString('Line 1\nLine 2\n');
  } catch (e) {
   
    print('Error: $e');
  }

你可能感兴趣的:(移动端六大语言速记指南,python,开发语言,android,ios,flutter)