2013-10-27 6 views
0

목록을 AS3의 .txt 파일에 저장하려고합니다. AS3 목록을 .txt 파일로 저장합니다.

var filefilter1:FileReference = new FileReference(); 
var names:ByteArray = new ByteArray(); 
names.writeInt(31); 
names.writeObject(grabberMenu.grabbedAccounts.dataProvider.toArray()); 
filefilter1.save(names, "New User List.ulist"); 

그래서 나는 배열에 목록을 넣어 : 나는 이전에 .ulist로 저장했다. 잘되었지만 .txt 파일로 만들어야합니다. 또한 작업,하지만 난 텍스트 파일을 열 때, 목록에서 각 레이블이 있었다,하지만 원치 않는 임의의 문자도 있었다

filefilter1.save(names, "New User List.txt"); 

주위에 확산 : 난 그냥처럼 .txt로하는 형식을 변경했습니다. 모두 나는 목록에서 각 레이블을 구분하여 구분해야합니다 (입력).

불필요한 문자가 나타나지 않으면 어떻게 파일을 .txt 파일로 저장할 수 있습니까? 아직 AS3에서 고급 상태가 아니므로 조언을 주시면 감사하겠습니다. 나는 온라인 같은 상황을 가진 다른 사람들을 찾을 수 없었다.

감사합니다.

답변

2

.txt로 저장하려면 writeObject 대신 writeUTFBytes를 사용해야합니다.

예를

names.writeUTFBytes("31\n"); 
var arr:Array = grabberMenu.grabbedAccounts.dataProvider.toArray(); 
for (var i:int = 0; i < arr.length; i++) { 
    names.writeUTFBytes(arr[i].toString() + "\n"); 
} 
0

을 위해 당신은 또한 AMF 파일에 모든 종류의 객체를 저장하고 원하는 확장자를 사용할 수 있습니다. 다시로드되면 AMF 파일은 기본 객체 (바, 배열, 클래스의 인스턴스 등)와 정확히 동일하게 작동합니다. 개체가 표준이 아닌 경우

var file:File = new File("myFile.xxx"); 
var stream:FileStream = new FileStream(); 
var decodedObject; 
stream.open(file, FileMode.READ); 
decodedObject = stream.readObject(); 
stream.close(); 

: 이것은 당신이 그것을 다시 읽어 방법입니다

var file:File = new File("myFile.xxx"); 
var stream:FileStream = new FileStream(); 
stream.open(file, FileMode.WRITE); 
stream.writeObject(yourObject); 
stream.close(); 

:

이것은 당신이 (당신이 원하는 확장 기능을 사용할 수 있습니다) 파일을 저장하는 방법입니다 객체 (Array, Object 등)를 사용하려면 클래스에 registerClassAlias을 등록해야합니다. 그러면 Flash에서 AMF 파일을 데이터 유형으로 디코딩하는 방법을 알 수 있습니다.

관련 문제