我是API编程的初学者。我正在尝试编写一个可重用的函数,用于将文件从一种格式转换为任何其他格式。我有一个XML文件,我想将其转换为其他文件格式;例如,具有该功能的.json
或.csv
个文件。
我为此创建了一个java bean,但我不确定它是否对我有所帮助。我有点困难如何开始,请提出任何建议,考虑到我的XML文件是所有字符串。
public class converter implements Serializable
{
public String name;
public String kind;
public String url;
public converter(){}
public converter(String name, String kind, String url){
getName(name);
getKind(kind);
getUrl(url);
}
private void getUrl(String url) {
// TODO Auto-generated method stub
this.url = url;
}
private void getKind(String kind) {
// TODO Auto-generated method stub
this.kind = kind;
}
private void getName(String name) {
// TODO Auto-generated method stub
this.name = name;
}
}
答案 0 :(得分:0)
您可以执行strategy pattern之类的操作(或者只是搜索网络,在这个网站上搜索大量内容)。
MonoFoldable
因此,您要使用要操作的文件创建转换器。然后根据要获取的文件类型设置转换算法并调用convert。如果您想转换为其他内容,只需切换转换算法。
用法示例:
class Converter {
ConversionAlgorithm algo;
File file; // file to convert
Converter(File file) {
this.file = file;
}
void setConversionAlgorithm(ConversionAlgorithm algo) {
this.algo = algo;
}
File convert() {
return algo.convert(file);
}
}
interface ConversionAlgorithm {
File convert(File toConvert);
}
class JSONConverter implements ConversionAlgorithm {
@Override
File convert(File toConvert) {
// do the conversion from xml to json
}
}
class CSVConverter implements ConversionAlgorithm {
@Override
File convert(File toConvert) {
// do the conversion from xml to csv
}
}
您还可以选择使用class Example {
static ConversionAlgorithm xmlTojson = new JSONConverter();
static ConversionAlgorithm xmlTocsv = new CSVConverter();
public static void main(String[] args) {
File xml = ... // get it somehow
Converter converter = new Converter(xml);
converter.setConversionAlgorithm(xmlTojson);
File json = converter.convert();
converter.setConversionAlgorithm(xmlTocsv);
File csv = converter.convert();
}
}
方法更改文件。有很多方法可以解决这个问题。