Tôi nghĩ rằng lưu toàn bộ tệp vào bộ nhớ đệm, sau đó xử lý nó là một ý tưởng hay cho trường hợp của bạn, vì mỗi dòng bạn đọc, bạn có thể chỉ cần xử lý, viết nó và tiếp tục cho dòng tiếp theo. [như Xử lý từng dòng được đề cập bởi AJNeufeld]
Tách cột bị hỏng [dấu phân cách]
Về cơ bản, việc tách dữ liệu cột bằng cách sử dụng lines.get[i].replaceAll[",",...]
bị hỏng, vì bản thân dữ liệu sẽ có nội dung là ,
Xem xét một dòng là Porsche,"991,991.2,992",70
trong đó mã của bạn [và thậm chí cả mã do AJNeufeld cung cấp] sẽ không thành công, vì if [args[0].equals...
0 là một giá trị và những if [args[0].equals...
1 đó ở đó để thông báo cho trình phân tích cú pháp, dữ liệu thoát đang ở phía trước
Vì vậy, về mặt cá nhân, tôi khuyên bạn nên thực hiện quy trình phân tích cú pháp theo từng ký tự, cho phép bạn bỏ qua bất kỳ ,
nào dưới dạng dấu phân cách khi bạn đến một if [args[0].equals...
3 mở đầu cho đến khi cặp if [args[0].equals...
3 kết thúc của nó
nhân vật bất ngờ
Đồng thời xem xét xác nhận, bỏ qua hoặc chuyển đổi bất kỳ ký tự không mong muốn nào. Ví dụ: chuyển đổi ký tự if [args[0].equals...
5 [_______66] thành if [args[0].equals...
7 hoặc hiển thị cảnh báo và bỏ qua nó
Quên tập tin
Tôi đề nghị, không khóa ứng dụng của bạn để chỉ đọc từ các tệp và lưu vào chúng. Nhiều lần if [args[0].equals...
8 và if [args[0].equals...
9 là những cách được chào đón nhiều hơn
Tôi đề nghị hỗ trợ từ cả tệp và if [args[0].equals...
8. Ví dụ: sử dụng phải đặt
Host_Name,IP_address,OS,Load_avg_1min,Load_avg_5min,Load_avg_15min // www . j a v a2 s .co m71 cho tệp đầu vào trong đối số hoặc
Host_Name,IP_address,OS,Load_avg_1min,Load_avg_5min,Load_avg_15min // www . j a v a2 s .co m72 để thông báo cho công cụ đọc từ
if [args[0].equals...
8Kiểm tra tập tin
Kiểm tra tệp [cả vào/ra] trước khi xử lý tệp cũng sẽ rất tuyệt. Để đảm bảo rằng chúng có thể truy cập được
Quả quyết
Dọn dẹp [hoặc nhắc/có thể thiết lập] kết quả, trong khi có một ngoại lệ IO không mong muốn trong quá trình cũng có thể tốt
Câu hỏi
Chúng tôi muốn biết cách chuyển đổi tệp XML thành tệp CSV
Câu trả lời
import java.io.File; /*w w w . j a v a2s.c o m*/ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; public class Main { public static void main[String args[]] throws Exception { File stylesheet = new File["style.xsl"]; File xmlSource = new File["data.xml"]; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance[]; DocumentBuilder builder = factory.newDocumentBuilder[]; Document document = builder.parse[xmlSource]; StreamSource stylesource = new StreamSource[stylesheet]; Transformer transformer = TransformerFactory.newInstance[] .newTransformer[stylesource]; Source source = new DOMSource[document]; Result outputTarget = new StreamResult[new File["/tmp/x.csv"]]; transformer.transform[source, outputTarget]; } }
Phong cách. xsl
Host_Name,IP_address,OS,Load_avg_1min,Load_avg_5min,Load_avg_15min // www . j a v a2 s .co m
đầu ra
Host_Name,IP_address,OS,Load_avg_1min,Load_avg_5min,Load_avg_15min srv001001,10.1.2.3,Windows1.3,2.5,1.2 srv001002,10.1.2.4,Linux1.4,2.5,1.2 srv001003,10.1.2.5,Linux3.3,1.6,1.8 srv001004,10.1.2.6,Linux2.3,4.5,4.2
Thêm hình mờ vào HTML và chuyển đổi sang PDF
API chuyển đổi tài liệu & hình ảnh Java cho phép bạn chuyển đổi các tài liệu web [HTML, XML, JSON, v.v.] chính xác như tệp gốc và thêm hình mờ văn bản vào PDF và các định dạng tài liệu được hỗ trợ khác. Sử dụng các tùy chọn Hình mờ như phông chữ, màu sắc, chiều rộng, chiều cao, nền và góc xoay trong khi thêm hình mờ vào tài liệu đã chuyển đổi và lưu dưới dạng tệp PDF
- Tạo một phiên bản mới của lớp Trình chuyển đổi và tải tài liệu HTML
- Khởi tạo lớp ConvertOptions thích hợp e. g. [PdfConvertOptions, WordProcessingConvertOptions, SpreadsheetConvertOptions, MarkupConvertOptions, v.v.]
- Tạo phiên bản mới của lớp WatermarkOptions
- Đặt thuộc tính Hình mờ của phiên bản ConvertOptions
- Chỉ định các thuộc tính hình mờ [màu sắc, chiều rộng, văn bản, chiều cao, v.v.]
- Gọi phương thức Convert của lớp Converter để chuyển đổi sang PDF
Đang tải và lưu trữ tài liệu CSV
Trong một số trường hợp, kích thước tài liệu được chuyển đổi lớn hơn và cần thời gian để chuyển đổi. Thư viện chuyển đổi tài liệu cung cấp tính năng lưu vào bộ đệm để quản lý hiệu quả các tình huống như vậy và tăng tốc quá trình chuyển đổi lặp đi lặp lại. Cho phép giao diện ICache hoạt động với triển khai bộ đệm tùy chỉnh bằng cách sử dụng điểm mở rộng và kiểm soát chuyển đổi bộ đệm theo ý muốn của bạn
Kết quả chuyển đổi được lưu vào ổ đĩa cục bộ theo mặc định nhưng bất kỳ loại bộ nhớ đệm nào cũng có thể được hỗ trợ bằng cách triển khai các giao diện thích hợp như Amazon S3, Dropbox, Google Drive, Windows Azure, Reddis hoặc bất kỳ giao diện nào khác.
API chuyển đổi định dạng tệp cũng hỗ trợ hiển thị tài liệu từ xa từ các nguồn khác nhau bao gồm S3, Blob, FTP, Stream, URL hoặc đĩa cục bộ