Java 如何在vaadin中显示文本文件
Java 如何在vaadin中显示文本文件,java,vaadin,Java,Vaadin,我在这里是新来的,尽管我已经在这些论坛上浏览了很多年,最后我需要一些帮助; 我已经试过了 FileResource file = new FileResource(new File("/a/d/r/e/s/s/file")); TextArea text = new TextArea(); text.setValue(file); 这, 及 还有一些是大到可以展示的 如何显示文件 final TextArea textField = new TextArea(); textField.se
我在这里是新来的,尽管我已经在这些论坛上浏览了很多年,最后我需要一些帮助; 我已经试过了
FileResource file = new FileResource(new File("/a/d/r/e/s/s/file"));
TextArea text = new TextArea();
text.setValue(file);
这,
及
还有一些是大到可以展示的
如何显示文件
final TextArea textField = new TextArea();
textField.setSizeFull();
this.addComponent(textField);
try {
final File file = new File("/path/to/file");
final String fileAsString = FileUtils.readFileToString(file);
textField.setValue(fileAsString);
} catch (IOException e) {
e.printStackTrace();
}
您需要使用Apache Commons中的IO组件才能导入FileUtils
您需要使用Apache Commons中的IO组件,才能使用java标准库+java 8流导入FileUtils
TextArea text = new TextArea();
String value = Files.readAllLines(Paths.get(file)).stream().collect(Collectors.joining())
text.setValue(value);
在Java 7中,您可以使用readAllLines函数对生成的列表进行迭代,如果文件的大小非常大,请采用不同的方法,如这里使用Java标准库+Java 8流所解释的方法
TextArea text = new TextArea();
String value = Files.readAllLines(Paths.get(file)).stream().collect(Collectors.joining())
text.setValue(value);
在Java 7中,您可以使用readAllLines函数对生成的列表进行迭代,如果文件的大小非常大,请遵循不同的方法,正如这里解释的方法一样最简单的方法是使用
TextFileProperty
:
TextArea text = new TextArea(new TextFileProperty(new File("/a/d/r/e/s/s/file")));
或更长的形式:
TextArea text = new TextArea();
text.setPropertyDataSource(new TextFileProperty(new File("/a/d/r/e/s/s/file")));
这段代码的作用是将字段TextArea绑定到属性。这是Vaadin的数据绑定机制。属性和字段自动同步
如果您想在不编辑它的情况下显示文件,请考虑使用VAADIN标签代替TexTaRea.
最简单的方法是使用<代码> TrimeFieldFiels:
TextArea text = new TextArea(new TextFileProperty(new File("/a/d/r/e/s/s/file")));
或更长的形式:
TextArea text = new TextArea();
text.setPropertyDataSource(new TextFileProperty(new File("/a/d/r/e/s/s/file")));
这段代码的作用是将字段TextArea绑定到属性。这是Vaadin的数据绑定机制。属性和字段自动同步
如果您想在不编辑它的情况下显示文件,请考虑使用VAADIN标签代替TEXTAURA。
可能的副本,我不认为这是一个复制品,因为这个问题是关于填充一个VAADIN组件而不仅仅是一个字符串。嗨,WillPierlot。如果任何一个答案都解决了你的问题,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。我不认为这是一个复制品,因为这个问题是关于填充一个VAADIN组件而不仅仅是一个字符串。嗨,WillPierlot,如果任何一个答案都解决了你的问题,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。您可以直接或作为import
语句添加相关的包名。您可以直接或作为import
语句添加相关的包名。遗憾的是,TextFileProperty(以及一般属性)似乎已从Vaadin 8中删除。是否有一个我缺少的易于使用的替代方案?遗憾的是,TextFileProperty(以及一般的属性)似乎已从Vaadin 8中删除。是否有一个我缺少的易于使用的替代方案?