繁体   English   中英

将输入字符串转换为文件对象

[英]Convert input String to File Object

我想将输入字符串转换成XML到JAVA对象。 我同样使用JAXB。 但是我的问题是从调用应用程序开始,我将以字符串形式接收XML。 但是jaxbUnmarshaller.unmarshal(inputXML); 在输入中需要FILE对象。 因此,有什么方法可以将输入的String转换为FILE对象,而无需手动将传入的内容写入磁盘。

以下是我的方法片段

public void xmlToObject(String inputXML){
        try{
            JAXBContext jaxbContext = JAXBContext.newInstance(LineItemsBeanList.class);
            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            LineItemsBeanList objreq= (LineItemsBeanList) jaxbUnmarshaller.unmarshal(inputXML);
            printLineItems(objreq.getLineItemsBean());
            nba.processLineItems(objreq.getLineItemsBean());
            nba.printFinalSetOfRules();
        }
        catch(Exception e){
            System.out.println(e);

        }
    } 

您无需制作File对象即可解决此问题。

取自JAXB Unmarshaller文档

使用javax.xml.transform.stream.StreamSource从StringBuffer解组:

JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
Unmarshaller u = jc.createUnmarshaller();
StringBuffer xmlStr = new StringBuffer( "<?xml version="1.0"?>..." );
Object o = u.unmarshal( new StreamSource( new StringReader( xmlStr.toString() ) ) );

在您的情况下,可以使用类似的方法从字符串中解组:

LineItemsBeanList objreq = (LineItemsBeanList) jaxbUnmarshaller.unmarshal(
    new StreamSource(new StringReader(inputXML)));

转换 ArrayList<object> 串起来<div id="text_translate"><p>嗨,我正在尝试练习 java,我才刚刚开始。 为了练习,我正在尝试构建一个简单的扑克游戏,但遇到了卡片数组列表,我正在尝试将其打印出来,但只有控制台的地址是 output。 自然我尝试使用.toString 方法并创建我自己的toString 方法来尝试检查数组列表是否输入正确。 Bellow 是我的卡片 class 和 Arraylist{Card}Deck。 贝娄是我的代码</p><pre>package poker; import java.util.ArrayList; public class Card { private String _suit; private int _cardNum; public Card(int cardNum, String suit) { _suit = suit; _cardNum = cardNum; } public String toString() { return _suit +_cardNum; } static ArrayList&lt;`enter code here`Card&gt; Deck = new ArrayList&lt;Card&gt;() {{ add(new Card(0,"Hearts")); add(new Card(1,"Hearts")); add(new Card(1,"Hearts")); add(new Card(2,"Hearts")); add(new Card(3,"Hearts")); add(new Card(4,"Hearts")); add(new Card(5,"Hearts")); add(new Card(6,"Hearts")); add(new Card(7,"Hearts")); add(new Card(8,"Hearts")); add(new Card(9,"Hearts")); add(new Card(10,"Hearts")); add(new Card(11,"Hearts")); add(new Card(12,"Hearts")); add(new Card(13,"Hearts")); add(new Card(0,"Spades")); add(new Card(1,"Spades")); add(new Card(2,"Spades")); add(new Card(3,"Spades")); add(new Card(4,"Spades")); add(new Card(5,"Spades")); add(new Card(6,"Spades")); add(new Card(7,"Spades")); add(new Card(8,"Spades")); add(new Card(9,"Spades")); add(new Card(10,"Spades")); add(new Card(11,"Spades")); add(new Card(12,"Spades")); add(new Card(13,"Spades")); add(new Card(0,"Clubs")); add(new Card(1,"Clubs")); add(new Card(2,"Clubs")); add(new Card(3,"Clubs")); add(new Card(4,"Clubs")); add(new Card(5,"Clubs")); add(new Card(6,"Clubs")); add(new Card(7,"Clubs")); add(new Card(8,"Clubs")); add(new Card(9,"Clubs")); add(new Card(10,"Clubs")); add(new Card(11,"Clubs")); add(new Card(12,"Clubs")); add(new Card(13,"Clubs")); add(new Card(0,"Diamonds")); add(new Card(1,"Diamonds")); add(new Card(2,"Diamonds")); add(new Card(3,"Diamonds")); add(new Card(4,"Diamonds")); add(new Card(5,"Diamonds")); add(new Card(6,"Diamonds")); add(new Card(7,"Diamonds")); add(new Card(8,"Diamonds")); add(new Card(9,"Diamonds")); add(new Card(10,"Diamonds")); add(new Card(11,"Diamonds")); add(new Card(12,"Diamonds")); add(new Card(13,"Diamonds")); }}; }</pre><p> 和我的 MainApp</p><pre> package poker; import java.util.Random; import static java.lang.System.out; public class MainApp { public static void main(String[] args) { for(int i = 0;i &lt;Card.Deck.size();i++) { out.println(Card.toString()); } } }</pre><p> 在打印行中是我的问题发生的地方。 如何将 arraylist 从 class 类型转换为用于输出的字符串? 提前致谢!</p></div></object>

[英]Convert ArrayList<Object> to string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将字符串输入转换为对象名称的实例(=输入) 如何在Java中将String转换为File对象? 如何将任何输入XML文件转换为类似的Java对象结构? 将输入字符串转换为二维数组,然后使用索引文件将其提取 将字符串转换为任何对象 将字符串转换为 arraylistof 对象 将空对象转换为字符串 将对象转换为字符串 转换 ArrayList<object> 串起来<div id="text_translate"><p>嗨,我正在尝试练习 java,我才刚刚开始。 为了练习,我正在尝试构建一个简单的扑克游戏,但遇到了卡片数组列表,我正在尝试将其打印出来,但只有控制台的地址是 output。 自然我尝试使用.toString 方法并创建我自己的toString 方法来尝试检查数组列表是否输入正确。 Bellow 是我的卡片 class 和 Arraylist{Card}Deck。 贝娄是我的代码</p><pre>package poker; import java.util.ArrayList; public class Card { private String _suit; private int _cardNum; public Card(int cardNum, String suit) { _suit = suit; _cardNum = cardNum; } public String toString() { return _suit +_cardNum; } static ArrayList&lt;`enter code here`Card&gt; Deck = new ArrayList&lt;Card&gt;() {{ add(new Card(0,"Hearts")); add(new Card(1,"Hearts")); add(new Card(1,"Hearts")); add(new Card(2,"Hearts")); add(new Card(3,"Hearts")); add(new Card(4,"Hearts")); add(new Card(5,"Hearts")); add(new Card(6,"Hearts")); add(new Card(7,"Hearts")); add(new Card(8,"Hearts")); add(new Card(9,"Hearts")); add(new Card(10,"Hearts")); add(new Card(11,"Hearts")); add(new Card(12,"Hearts")); add(new Card(13,"Hearts")); add(new Card(0,"Spades")); add(new Card(1,"Spades")); add(new Card(2,"Spades")); add(new Card(3,"Spades")); add(new Card(4,"Spades")); add(new Card(5,"Spades")); add(new Card(6,"Spades")); add(new Card(7,"Spades")); add(new Card(8,"Spades")); add(new Card(9,"Spades")); add(new Card(10,"Spades")); add(new Card(11,"Spades")); add(new Card(12,"Spades")); add(new Card(13,"Spades")); add(new Card(0,"Clubs")); add(new Card(1,"Clubs")); add(new Card(2,"Clubs")); add(new Card(3,"Clubs")); add(new Card(4,"Clubs")); add(new Card(5,"Clubs")); add(new Card(6,"Clubs")); add(new Card(7,"Clubs")); add(new Card(8,"Clubs")); add(new Card(9,"Clubs")); add(new Card(10,"Clubs")); add(new Card(11,"Clubs")); add(new Card(12,"Clubs")); add(new Card(13,"Clubs")); add(new Card(0,"Diamonds")); add(new Card(1,"Diamonds")); add(new Card(2,"Diamonds")); add(new Card(3,"Diamonds")); add(new Card(4,"Diamonds")); add(new Card(5,"Diamonds")); add(new Card(6,"Diamonds")); add(new Card(7,"Diamonds")); add(new Card(8,"Diamonds")); add(new Card(9,"Diamonds")); add(new Card(10,"Diamonds")); add(new Card(11,"Diamonds")); add(new Card(12,"Diamonds")); add(new Card(13,"Diamonds")); }}; }</pre><p> 和我的 MainApp</p><pre> package poker; import java.util.Random; import static java.lang.System.out; public class MainApp { public static void main(String[] args) { for(int i = 0;i &lt;Card.Deck.size();i++) { out.println(Card.toString()); } } }</pre><p> 在打印行中是我的问题发生的地方。 如何将 arraylist 从 class 类型转换为用于输出的字符串? 提前致谢!</p></div></object> 将对象转换为字符串(java)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM