我正在制作一个简单的绘画程序,并且坚持获取字符串的某个部分。 以下是麻烦 - 当我保存9面板图像时,它将每个面板的RBG值存储到.txt文件。例如:从字符串获得值
- java.awt.Color中[R = 0,G = 0,B = 0]
- java.awt.Color中[R = 255,G = 255,B = 255]
- java.awt.Color [r = 255,g = 0,b = 0]
- java.awt.Color [r = 0,g = 0,b = 255]
- java.awt.Color [r = 0,g = 0,b = 0]
- java.awt.Color [r = 255,g = 255,b = 0]
- java.awt.Color [r = 255,g = 255, 0]
- java .awt.Color [R = 255,G = 0,B = 0]
- java.awt.Color中[R = 0,G = 0,B = 255]
从这里,我称之为扫描仪读取我们的文件的行。我只需要找到将[]中的值提取到String的最佳方法。我试过使用一个标记器无济于事,仍然被卡住多余的字符串。我试过操纵角色,但又失败了。从我们的括号中提取数据的最佳方法是什么?并且将单个r = xxx,b = xxx,g = xxx值存储为String []会更容易吗?谢谢,这里是我到目前为止的来源:
import java.awt.Color;
import java.io.*;
import java.lang.*;
import java.util.*;
//when finished, organize imports (narrow down what imports were used)
public class SaveLoad {
private boolean tryPassed, tryPassed2;
private Formatter x;
//final String[] rawData; will be where the rgb raws are stored
private Scanner xReader;
public void save(Color[] c, String s) {
//s is the filename
int counter = c.length;
//Tries to create a file and, if it does, adds the data to it.
try{
x = new Formatter(s+".txt");
tryPassed = true;
while(counter>0) {
x.format("%s. %s\n", (c.length-(counter-1)), c[counter-1]);
counter--;
}
x.close();
}catch (Exception e){
e.printStackTrace();
tryPassed = false;
}
}
//load will take paramaters of a filename(string); NOTE:::: make the file loaded specify an appendix (ex] .pixmap)
//MAYBE add a load interface with a jDropdownmenu for the filetype? add parameter String filetype.
public void load(String s, String filetype) {
//loads the file and, if successful, attempts to read it.
try{
xReader = new Scanner(new File(s+filetype));
tryPassed2 = true;
}catch(Exception e){
e.printStackTrace();
tryPassed2 = false;
System.out.println(s+filetype+" is not a valid file");
}
while(xReader.hasNext()&&tryPassed2==true) {
String inBrackets = xReader.next().substring(17);
System.out.println(inBrackets);
}
}
}
另外,忽略我的杂乱的符号。
仅供参考,你遗漏了最重要的标签:[tag:java]。 – 2012-02-25 22:34:01
尴尬,在您发布之前修复了大约一分钟:感谢xP – nolasaint 2012-02-25 22:35:29
其实,您的修复与我的意思相反。不要在标题中加入“(Java)”,只需在问题底部的标签中添加[tag:java]即可。我已经解决了这两个问题。 – 2012-02-25 22:38:03