gpt4 book ai didi

java - 我尝试传递给 main 中 Createnewfile 的函数调用时出现字符串错误

转载 作者:行者123 更新时间:2023-12-02 05:14:41 24 4
gpt4 key购买 nike

我唯一的问题是我在评论时收到错误。我愿意将索引 1 处的字符串 (token[]) 数据发送到 main.c 中的 Createnewfile () 方法。我无法实现它。请指导我应该做什么。

import java.util.*;
import java.io.File;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;


class CreateFile
{
public static void main( String[] args )
{

Scanner S = new Scanner (System.in);
System.out.println ("FileExplorer");

System.out.println ("Select:");
System.out.println ("1.create new file");
System.out.println("2. Enter text in the new created file ");
System.out.println ("3.View List");
System.out.println ("4.Display contents of particular file");
System.out.println ("5.Delete a selected file");
System.out.println ("6.Copy files to other directory");
System.out.println ("7.Cut files from one directory to other");

System.out.println ("My File Explorer:");
String phrase = S.nextLine();
String delims = "[ ]+";
String[] tokens = phrase.split(delims);
for (int i = 0; i < tokens.length; i++)
System.out.println(tokens[i]);

if (tokens[0].equals ( "createfile") )
{
System.out.println ("Create");
Createnewfile( tokens[] ); //I get an error here, please tell me how to send
//the tokens[1] index 1 string to my createnewfile function
}
if (tokens[0].equals ( "entertext") )
{
System.out.println ("entering text");
String St = tokens[1];
Entertext(St);
}
if (tokens[0].equals ( "showcontent") )
{
System.out.println ("Displaying contents");
}
if (tokens[0].equals ( "List") )
{
System.out.println ("Listing all .txt files");
}
if (tokens[0].equals ( "delete") )
{
System.out.println ("Deleting the selected file");
}

}

public void Createnewfile( String [] tokens)
{
try
{

File file = new File(tokens[1]);

if (file.createNewFile())
{
System.out.println("File is created!");
}
else
{
System.out.println("File already exists.");
}

}
catch (Exception e)
{
e.printStackTrace();
}
}


public static void Entertext(String St)
{
try
{
Scanner S = new Scanner (System.in);
String content = S.nextLine();
File file = new File( St);
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();

System.out.println("Done");

} catch (IOException e) {
e.printStackTrace();
}
}
}

最佳答案

如果您尝试数组引用,只需丢失[]:

Createnewfile(tokens); 

然而,这不仅仅是传递 token [1]

很奇怪的是,您的 Createnewfile 方法总是使用 tokens[1] - 该方法拥有一个 String 更有意义参数(而不是 String[]),然后您可以将其称为:

Createnewfile(tokens[1]);

仅传递对要用于创建文件的字符串的引用 - 例如,就像您对 Entertext 方法所做的那样。

我还强烈敦促您了解 Java 中的命名约定并遵循它们。 (因此您的方法将是 createNewFileenterText 等)

关于java - 我尝试传递给 main 中 Createnewfile 的函数调用时出现字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27065996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com