11 个版本 (稳定版)

2.0.0 2023年5月21日
1.4.1 2022年3月10日
1.4.0 2021年7月9日
1.3.0 2020年10月25日
0.1.1 2016年2月6日

#355 in 开发工具

Download history • Rust 包仓库 16545/week @ 2024-03-14 • Rust 包仓库 15666/week @ 2024-03-21 • Rust 包仓库 11306/week @ 2024-03-28 • Rust 包仓库 15678/week @ 2024-04-04 • Rust 包仓库 14287/week @ 2024-04-11 • Rust 包仓库 14013/week @ 2024-04-18 • Rust 包仓库 14210/week @ 2024-04-25 • Rust 包仓库 17378/week @ 2024-05-02 • Rust 包仓库 13314/week @ 2024-05-09 • Rust 包仓库 14200/week @ 2024-05-16 • Rust 包仓库 14613/week @ 2024-05-23 • Rust 包仓库 14223/week @ 2024-05-30 • Rust 包仓库 14420/week @ 2024-06-06 • Rust 包仓库 13757/week @ 2024-06-13 • Rust 包仓库 12233/week @ 2024-06-20 • Rust 包仓库 9708/week @ 2024-06-27 • Rust 包仓库

52,509 个月下载量
43 个包中使用 (直接使用 16 个)

MIT 许可协议

53KB
1K SLoC

Rust 的 Java 属性

这是一个用于在 Rust 中读取和写入 Java 属性文件的库。规范来自 Properties 文档。当文档不明确或不完整时,行为基于 java.util.Properties 的行为。

示例

use std::collections::HashMap;
use std::env::temp_dir;
use std::fs::File;
use std::io::BufReader;
use std::io::BufWriter;
use std::io::prelude::*;

let mut file_name = temp_dir();
file_name.push("java-properties-test.properties");

// Writing
let mut map1 = HashMap::new();
map1.insert("a".to_string(), "b".to_string());
let mut f = File::create(&file_name)?;
write(BufWriter::new(f), &map1)?;

// Reading
let mut f = File::open(&file_name)?;
let map2 = read(BufReader::new(f))?;
assert_eq!(src_map1, dst_map1);

lib.rs:

用于读取和写入 Java 属性文件的工具

规范来自 https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html。当文档不明确或不完整时,行为基于 java.util.Properties。

示例

use java_properties::PropertiesIter;
use java_properties::PropertiesWriter;
use java_properties::read;
use java_properties::write;
use std::collections::HashMap;
use std::env::temp_dir;
use std::fs::File;
use std::io::BufReader;
use std::io::BufWriter;
use std::io::prelude::*;

let mut file_name = temp_dir();
file_name.push("java-properties-test.properties");

// Writing simple
let mut src_map1 = HashMap::new();
src_map1.insert("a".to_string(), "b".to_string());
let mut f = File::create(&file_name)?;
write(BufWriter::new(f), &src_map1)?;

// Writing advanced
let mut src_map2 = HashMap::new();
src_map2.insert("a".to_string(), "b".to_string());
let mut f = File::create(&file_name)?;
let mut writer = PropertiesWriter::new(BufWriter::new(f));
for (k, v) in &src_map2 {
  writer.write(&k, &v)?;
}
writer.finish();

// Reading simple
let mut f2 = File::open(&file_name)?;
let dst_map1 = read(BufReader::new(f2))?;
assert_eq!(src_map1, dst_map1);

// Reading advanced
let mut f = File::open(&file_name)?;
let mut dst_map2 = HashMap::new();
PropertiesIter::new(BufReader::new(f)).read_into(|k, v| {
  dst_map2.insert(k, v);
})?;
assert_eq!(src_map2, dst_map2);

依赖项

~6.5MB
~172K SLoC