打开文档
DATA:SIPATH TYPE STRING,E_RESULT TYPE ABAP_BOOL,SO_TEXT2551 TYPE SO_TEXT255.
IF SIPATH = ''.
EXIT.
ENDIF.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
EXPORTING
FILE = SIPATH
RECEIVING
RESULT = E_RESULT
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
WRONG_PARAMETER = 3
NOT_SUPPORTED_BY_GUI = 4
OTHERS = 5.
IF SY-SUBRC <> 0."'无此文件,请核实路径/文件名是否正确!'
EXIT.
ENDIF.
SO_TEXT2551 = SIPATH.
CALL FUNCTION 'CALL_INTERNET_ADRESS' "打开文件
EXPORTING
PI_ADRESS = SO_TEXT2551
EXCEPTIONS
NO_INPUT_DATA = 1
OTHERS = 2.
检查文件夹是否存在
DATA:I_DIR TYPE LOCALFILE,STRRETURN TYPE C.
CALL FUNCTION 'WS_QUERY'"查找文件夹是否存在
EXPORTING
FILENAME = I_DIR
QUERY = 'DE'
IMPORTING
RETURN = STRRETURN"返回1 说明存在,0 说明不存在;
EXCEPTIONS
INV_QUERY = 1
NO_BATCH = 2
FRONTEND_ERROR = 3
OTHERS = 4.
或者
DATA:SIPATH TYPE STRING,E_RESULT TYPE ABAP_BOOL.
SIPATH = 'C:\1'.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_EXIST
EXPORTING
DIRECTORY = SIPATH
RECEIVING
RESULT = E_RESULT.
创建文件夹
DATA:RC TYPE I,SIPATH TYPE STRING,STRRETURN TYPE C.
IF SIPATH = ''.
STRRETURN = 0.
EXIT.
ENDIF.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_CREATE
EXPORTING
DIRECTORY = SIPATH
CHANGING
RC = RC.
IF SY-SUBRC = 0.
STRRETURN = 1.
ELSE.
STRRETURN = 0.
ENDIF.
"返回1 说明创建成功,0 说明失败;
或者
DATA:DIRNAME LIKE RLGRAP-FILENAME.
DIRNAME = 'C:\1'.
CALL FUNCTION 'GUI_CREATE_DIRECTORY'
EXPORTING
DIRNAME = DIRNAME
EXCEPTIONS
FAILED = 1
OTHERS = 2.
删掉整个文件夹
DATA:SIPATH TYPE STRING,RC TYPE I.
IF SIPATH = ''.EXIT.ENDIF.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_DELETE
EXPORTING
DIRECTORY = SIPATH
CHANGING
RC = RC.
复制文件到另一个文件夹
DATA:COPY TYPE STRING,SIPATH TYPE STRING.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_COPY
EXPORTING
SOURCE = SIPATH "用户上传的地址
DESTINATION = COPY "复制后的网络地址
OVERWRITE = 'X'.
IF SY-SUBRC = 0."写入成功
ENDIF.
弹出框上传文件
DATA:SIPATH TYPE STRING,I_FILE_FILTER TYPE STRING,I_MULT TYPE C,I_FILE_NAME TYPE FILETABLE,V_RC TYPE I.
SIPATH = 'C:\'."默认上传路径
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
INITIAL_DIRECTORY = SIPATH
FILE_FILTER = I_FILE_FILTER"'所有(*.*)|*.*|图片(*.BMP)|*.bmp|JPG(*.JPG)|*.jpg|GIF(*.gif)|*.gif|PNG(*.png)|*.png'"'图片(*.bmp)|*.bmp|'
MULTISELECTION = I_MULT"选择多图'X',选择单图''
CHANGING
FILE_TABLE = I_FILE_NAME
RC = V_RC
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
OTHERS = 4.
读取文件夹的文件
DATA:SIPATH TYPE STRING,T_FILETAB TYPE TABLE OF FILE_INFO,S_FILETAB TYPE FILE_INFO,RC TYPE I.
SIPATH = 'C:\1'.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES
EXPORTING
DIRECTORY = SIPATH
CHANGING
FILE_TABLE = T_FILETAB[]
COUNT = RC
EXCEPTIONS
CNTL_ERROR = 1
DIRECTORY_LIST_FILES_FAILED = 2
WRONG_PARAMETER = 3
ERROR_NO_GUI = 4
NOT_SUPPORTED_BY_GUI = 5
OTHERS = 6.
LOOP AT T_FILETAB INTO S_FILETAB.
ENDLOOP.
删除文件夹的文件
DATA:V_RC TYPE I,SIPATH TYPE STRING.
SIPATH = 'C:\1\XXX'.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_DELETE
EXPORTING
FILENAME = SIPATH
CHANGING
RC = V_RC
EXCEPTIONS
OTHERS = 1.