我有一个程序,它根据给定的目录路径搜索文件(它已经有一些内容),并允许用户向该文件添加更多内容。我能够显示目录中的所有文件,但我不知道如何选择文件并向其中写入更多内容。到目前为止,这是我的代码:
public static void main(String [] args)
{
// This shows all the files on the directory path
File dir = new File("/Users/NasimAhmed/Desktop/");
String[] children = dir.list();
if (children == null)
{
System.out.println("does not exist or is not a directory");
}
else
{
for (int i = 0; i < children.length; i++)
{
String filename = children[i];
System.out.println(filename);
// write content to sample.txt that is in the directory
out(dir, "sample.txt");
}
}
}
public static void out(File dir, String fileName)
{
FileWriter writer;
try
{
writer = new FileWriter(fileName);
writer.write("Hello");
writer.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
答案 0 :(得分:1)
示例附加到文件:
public class Model
{
public string Text { get; set; }
}
BindingList<Model> list = new BindingList<Model>();
private void Form1_Load(object sender, EventArgs e)
{
var column1 = new DataGridViewTextBoxColumn();
column1.CellTemplate = new MyDataGridViewTextBoxCell();
column1.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
column1.DataPropertyName = "Text";
column1.DefaultCellStyle = new DataGridViewCellStyle();
column1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
column1.HeaderText = "Text";
column1.Name = "column1";
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
dataGridView1.Columns.Add(column1);
this.dataGridView1.DataSource = list;
}
private void button1_Click(object sender, EventArgs e)
{
list.Add(new Model() { Text = textBox1.Text });
}
答案 1 :(得分:0)
// write content to sample.txt that is in the directory
try {
Files.write(Paths.get("/Users/NasimAhmed/Desktop/" + filename), "the text".getBytes(), StandardOpenOption.APPEND);
}catch (IOException e) {
//exception handling left as an exercise for the reader
}